-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update RL_BUFFER_COUNT Documentation #10
Comments
Hi,
m4:
|
For further clarification, the issue is caused by the
and then inside of the
The problem here is that it uses RL_BUFFER_COUNT as the size of the desc table for each vq that is created when the actual length is the total divided by 2. It also looks like |
Hello @workzb , thank you for this report and analysis. I guess this is intended behavior (coded by my former colleague). rpmsg_lite must be able to communicate with rpmsg Linux implementation and also it can be used as "standalone" (rpmsg_lite master vs. rpmsg_lite remote). The behavior and the buffer management needs to be better documented. I will handle that. Thank you. |
Doxygen description for RL_BUFFER_PAYLOAD_SIZE and RL_BUFFER_COUNT config macros updated internally, will be available in the next external release. |
- Updated RL_BUFFER_COUNT documentation (issue #10) - Addressed MISRA 21.6 rule violation in rpmsg_env.h (use SDK's PRINTF in MCUXpressoSDK examples, otherwise stdio printf is used) - Added environment layers for XOS - Fixed incorrect description of the rpmsg_lite_get_endpoint_from_addr function - Updated imxrt600_hifi4 platform layer - Added support for i.MX RT500, i.MX RT1160 and i.MX RT1170 multicore platforms - Updated version to 3.1.2
After some testing I found that the RL_BUFFER_COUNT configuration parameter must be half of the total number of RPMsg buffers when interfacing with Linux RPMsg. The documentation says that it's the total number of buffers but the source code treats it as the number of buffers in one direction, so it's actually half of the total number of buffers.
Setting RL_BUFFER_COUNT to the total number of allocated buffers causes the memory map of the vrings to be incorrect.
EX: if Linux RPMSG_NUM_BUFS = 512 then RL_BUFFER_COUNT must equal 256.
The text was updated successfully, but these errors were encountered: