This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8168 EZSDK M3(VPSS)初始化问题



请问DM8168、EZSDK开发,其M3(VPSS模块)的初始化工作是放在什么地方初始化的?是dm816x_hdvpss.xem3固件吗?还是放在A8中的linux驱动来初始化?

  • 是在M3中dm816x_hdvpss.xem3初始化

  • 我遇到个问题,我们公司购买了一块DVRRDK的8168开发板,但购买后,公司觉得EZSDK开发包更适合我们的需求,所以转而利用购买的这块DVRRDK8168开发板开发EZSDK,遇到加载vpss.ko驱动失败,具体打印语句如下:

    root@dm816x-evm:/home/driver# insmod vpss.ko sbufaddr=0xA0200000
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0

    我看了内核源代码,问题是出在下面:

    /* Remote notification is not initialized */
    #define NOTIFY_E_NOTINITIALIZED -16

    /* Stamp indicating that the Notify Shared Memory driver on the
    * processor has been initialized. */
    #define NOTIFYSHMDRIVER_INIT_STAMP 0xA9C8B7D6

    /* Send a notification event to the registered users for this
    * notification on the specified processor. */
    int notify_shm_drv_send_event(struct notify_driver_object *handle,
    u32 event_id, u32 payload, bool wait_clear)
    {

    .............

               /* Check whether driver on other processor is initialized */

               if (obj->other_proc_ctrl->recv_init_status != \

                      NOTIFYSHMDRIVER_INIT_STAMP) {
             
      /* This may be used for polling till other-side driver is ready,
              * so do not set failure reason. */
               status = NOTIFY_E_NOTINITIALIZED;
               goto exit;
       }

    ...........

    }

    给我的感觉应该是问题出在了共享内存初始化失败上。

    我在想是不是因为我们这个板子和标准的evm开发板存在板级上的差异,导致了*.xem3固件初始化M3出现了点小问题,导致了这个vpss.ko驱动加载失败,您觉得这种可能性存在吗?



  • 检查一下bootargs里的notifyk.vpssm3_sva值,是否和env.sh里面的notifyk.vpssm3_sva一致。

    The kernel bootargs notifyk.vpssm3_sva= parameter should match this value.

  • 我们使用的是ezsdk开发包,里面没有env.sh这个脚本吧?  我只在DVRRDK中看到过有这个env.sh脚本,ezsdk中没有看到过这个脚本,请问在什么位置?