你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32MP257如何修改异核通信缓冲区大小。

[复制链接]
JQ@Wang 提问时间:2024-10-22 11:39 / 未解决

image.png

🚀️ 针对示例代码STM32Cube_FW_MP2_V1.0.0/Projects/STM32MP257F-EV1/Applications/OpenAMP/OpenAMP_TTY_echo,以下是我的提问内容详情: 1、如果我想将#define RPMSG_BUFFER_SIZE (512)修改为#define RPMSG_BUFFER_SIZE (1024),那需要修改哪些相关文件?能否提供一个修改示例?😕 2、请问这个#define RPMSG_BUFFER_SIZE的取值上限是多少?由哪些因素决定?😕

image.png
收藏 评论2 发布时间:2024-10-22 11:39

举报

2个回答
JQ@Wang 回答时间:前天 16:21
                ipc_shmem_1: ipc-shmem-1@81200000 {
                        compatible = "shared-dma-pool";
                        reg = <0x0 0x81200000 0x0 0xc0000>;
                        no-map;
                };

                vdev0vring0: vdev0vring0@812c0000 {
                        compatible = "shared-dma-pool";
                        reg = <0x0 0x812c0000 0x0 0x1000>;
                        no-map;
                };

                vdev0vring1: vdev0vring1@812c1000 {
                        compatible = "shared-dma-pool";
                        reg = <0x0 0x812c1000 0x0 0x1000>;
                        no-map;
                };

                vdev0buffer: vdev0buffer@812c2000 {
                        compatible = "shared-dma-pool";
                        reg = <0x0 0x812c2000 0x0 0x3e000>;
                        no-map;
                };
JQ@Wang 回答时间:前天 16:30

目前已验证异核通信最大传输字节为256、512、1024、2048字节。当我测试最大传输4096字节时,仿佛被限制异核通信最大传输字节仅到2048字节,请问这是为什么呢?以下是我用来测试传输4096字节用到的内核(6.1.82版本)内存分配设备树,和相关文件修改内容。麻烦帮我看看,非常感谢!

内核内存分配设备树:

        ipc_shmem_1: ipc-shmem-1@81200000 {
            compatible = "shared-dma-pool";
            reg = <0x0 0x81200000 0x0 0xc0000>;
            no-map;
        };

        vdev0vring0: vdev0vring0@812c0000 {
            compatible = "shared-dma-pool";
            reg = <0x0 0x812c0000 0x0 0x1000>;
            no-map;
        };

        vdev0vring1: vdev0vring1@812c1000 {
            compatible = "shared-dma-pool";
            reg = <0x0 0x812c1000 0x0 0x1000>;
            no-map;
        };

        vdev0buffer: vdev0buffer@812c2000 {
            compatible = "shared-dma-pool";
            reg = <0x0 0x812c2000 0x0 0x3e000>;
            no-map;
        };

内核rpmsg buffer size控制文件:drivers/rpmsg/virtio_rpmsg_bus.c


#define MAX_RPMSG_BUF_SIZE  (4096)

M33 SDK 的DDR配置文件:Drivers/CMSIS/Device/ST/STM32MP2xx/Source/Templates/gcc/linker/stm32mp2xx_DDR_m33_ns.ld


_virtio_shmem_size = 256K;  /* size of the virtio pool used for RPMsg communication */

M33 SDK 的rpmsg通信大小文件:rpmsg_virtio.h


/* Configurable parameters */
#ifndef RPMSG_BUFFER_SIZE
#define RPMSG_BUFFER_SIZE   (4096)
#endif

image.png

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版