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

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 回答时间:2024-10-24 16:21:32
                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 回答时间:2024-10-24 16:30:52

目前已验证异核通信最大传输字节为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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版