导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    V853使用RPBUF让LINUX和MELIS的程序通信,MELIS收发数据都是0x00

    V Series
    1
    1
    24
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • S
      sssanton LV 3 最后由 sssanton 编辑

      使用的SDK是韦东山的V853的AI开发板,LINUX的程序使用了rpbuf_sample_sunxi.c作为驱动,E907运行MELIS的程序,使用rpbuf_demo.c作为驱动。
      LINUX先创建一个1156大小的buffer后,MELIS的程序调用MSH命令也创建同名的buffer, 然后linux的调用echo >data进行数据发送(比如12345),melis程序能收到消息,获取到正确的数据长度,但是数据全为0x00,melis的程序调用rpbuf_test进行数据发送(比如abcdef),linux的程序能获取到正确的数据长度,但是数据为12345。 看起来就是linux的驱动是则正常的,但是melis的驱动则有问题,其获取不到正确的buffer地址。94b7ded3-1b13-49a8-8014-b04c04d91668-2e5c6c4026e3fbc9e5ec6cdace5373ae.png (这是LINUX的打印信息)
      10e8dd6c-653e-4751-9dc9-0d3aae9d1779-579d8f0284ad17516723b8a9dcfce772.png (这是MELIS的打印信息)
      MELIS看到RPBUF的虚拟地址就是0x00,试过在LINUX创建了RPBUF后,MELIS把VA写死成一样的地址,或VA的地址取成PA的地址,都不行(收发数据就进入异常)。
      还有一个疑问是,RPBUF的ROLE里面,MASTER和SLAVE是不是分别对应大核和小核?我现在通过启动MELIS的程序来创建RPBUF的SERVICE,然后先在KERNEL创建RPBUFFER,然后再到MELIS上创建同名的RPBUFFER,这个流程是否有问题?
      e074e7fe-df79-425e-b3de-538383d6f098-QQ_1758168795094.png
      尝试过修改给va赋值的函数,仍未能解决问题。

      1 条回复 最后回复 回复 引用 分享 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策