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.

IPNC_RDK 3.0 DSP编译问题(DM8127)



想在DPS模块内加入相关算法,但是发现lowPower下,未使用DPS模块

1.可以在lowPower模式下使用DSP么?

2.我们应该怎么做?

求各位赐教~

  • 你好,

    Low power 模式下DSP模块是没有使能的,这个在uboot下有配置。

    你能否使用full feature的use case呢?

  • 你好,谢谢回复。

    我现在需求是得到10M的JPEG图像,同时在DSP模块内加入自己的算法。

    但现在的问题是full feature 下无法得到10M的JPEG图像, low power下可以得到但无法使用DSP模块。

    在full feature 下获取10M的JPEG图像能够简单么?怎样做呢?

    谢谢!

  • 你好,

    你能否尝试使用low power use case和你的DSP代码,并且uboot如下配置?

    setenv bootcmd 'ipnc_ff_init 1;nboot 0x81000000 0 0x280000; bootm';

  • 你好!

    DSP是使用full feature下编译的么?low power模式下,dsp模块不会被编译。

    稍后尝试一下。

    谢谢!

  • 你好,

    能否尝试编译选用full feature,在代码Ti_vsys.c修改下面代码:

        switch (gVsysModuleContext.vsysConfig.systemUseCase) {

            case VSYS_USECASE_MULTICHN_TRISTREAM_LOWPWR:
                MultiCh_createTriStreamLowPwr();
                break;
      case VSYS_USECASE_TRISTREAM_SMARTANALYTICS:   
            case VSYS_USECASE_MULTICHN_TRISTREAM_FULLFTR:
                MultiCh_createTriStreamFullFtr();  --》修改为调用low power的代码:MultiCh_createTriStreamLowPwr();
                break;

  • 您好 

    按照上述方法进行尝试:

    1. low power代码,用full feature配置进行启动,启动失败

    不停的输出LOG:Phy Addr : 0x4818050c Data : 0x00007f02

    2. 修改Ti_vsys.c代码,程序未完全启动

    LOG:

    TimeOut occure in boot_proc.
    Program exit.
    TimeOut occure in boot_proc.
    Program exit.

  • 你好,

    在代码里面有定义full feature的其他代码是否有用low power的替换?例如网页的菜单/命令。

  • 你好!

    我以FULLFTR为关键字 在全工程进行搜索,没发现其他地方需要替换。

    不清楚还需要替换哪些位置?新手,还请多多指教!

    谢谢!

  • 10M low power模式下不使能DSP,是不是硬件资源的什么限制原因?

    同样关注中,如何在这种模式下使能DSP。。。

  • TO simon blak:

    亲 能留个联系方式么?

    我有好多问题想向您请教一下,新手,请见谅!

    QQ:282009271

  • 你好,

    如果搜索IPNC_LOW_POWER,你可以找到一些相关代码。

  • 你好,

    我现在将CameraLink_CreateParams中的参数设置为10Mp, 导致无法启动完全,麻烦帮忙分析一下,谢谢!

    修改代码:

    pCameraOutPrm->scOutWidth = 3648;//原为1920;
    pCameraOutPrm->scOutHeight = 2736;//原为1080;

    LOG:

    [m3vpss ] 10606: DUP : Create Done !!!
    [m3vpss ] 10606: NSF: Create in progress !!!
    [m3vpss ] Memory allocation failed due to insufficient free memory
    [m3vpss ] 10608: Assertion @ Line: 1025 in links_m3vpss/nsf/nsfLink_drv.c: status == FVID2_SOK : failed !!!
    queue id:0
    ApproDrvInit: 7
    queue id:131076
    func_get_mem.mem_info.addr = 0x85000000
    func_get_mem.mem_info.size = 0x3b00000
    TimeOut occure in boot_proc.
    Program exit.
    TimeOut occure in boot_proc.
    Program exit.
    ApproDrvExit: 7
    Error: WaitStreamReady Fail.
    Error: SemWait: Invalid Semaphore handler
    PHY: 0:00 - Link is Down

    断言错误处代码:

    if (nsfDataFmt->outMemType == VPS_VPDMA_MT_TILEDMEM)
    {
    status = Utils_tilerFrameAlloc(&format, nsfChObj->frames,
    numFrmsPerCh);
    }
    else
    {
    status = Utils_memFrameAlloc(&format, nsfChObj->frames,
    numFrmsPerCh);
    }
    UTILS_assert(status == FVID2_SOK);

  • 你好,

    v3.5软件里面的NSF还不支持大于1080p的输入。目前HDMI显示也是1080p。如果使用full feature的demo,请将这两个Link去掉。

  • 你好!

    把NSF 换成VNF后, 仍然出现问题。

    错误LOG:

    [c6xdsp ] 9355: VA : Create Done !!!
    [m3video] 9998: ENCODE: Create in progress ... !!!
    [c6xdsp ] 9355: VA : ALG Init Done !!!
    [m3video] 9999: Assertion @ Line: 662 in utils/src/utils_mem.c: status == 0 : failed !!!
    [m3vpss ] 9985: IPC_FRAMES_OUT : Create Done !!!
    [c6xdsp ] 9398: VA : MEMALLOC 8913819 bytes for DMVAL internal memory at addr 0x89181000!!!
    [c6xdsp ] 9399: VA : MEMALLOC 3848 bytes for DMVAL output memory at addr 0x89000080!!!
    [c6xdsp ] 9410: VA : ALG Create Done !!!
    main 188
    ApproDrvInit: 3
    queue id:131076
    main 192
    main 197
    queue id:0
    main 202
    queue id:32769
    main 208
    main 212
    main 216
    main 220
    main 228
    queue id:0
    ApproDrvInit: 7
    queue id:131076
    func_get_mem.mem_info.addr = 0x85000000
    func_get_mem.mem_info.size = 0x3b00000
    TimeOut occure in boot_proc.
    Program exit.
    TimeOut occure in boot_proc.
    Program exit.
    ApproDrvExit: 7
    Error: WaitStreamReady Fail.
    Error: SemWait: Invalid Semaphore handler

    判断错误代码应该是Enc引起的:

    status = Utils_memBitBufAlloc(&(pOutObj->outBufs[totalBufCnt]),
    pOutObj->buf_size[i],
    pOutObj->outNumBufs[i]);

    麻烦帮忙分析一下,谢谢!

  • 你好,

    你能否对比一下正常情况下和出错情况下Utils_memBitBufAlloc(&(pOutObj->outBufs[totalBufCnt]),传入参数的区别。

    请注意VA的输入的图像大小必须是QVGA。

  • TO Chris Meng:

     你好!

    EncLink 处调用 Utils_memBitBufAlloc函数:

    正常情况:size = 2278a0 numFrames = 8

    错误情况:size = a648c0 numFrames = 8

    因为正常情况下是2M的 我现在想实现10MJpeg

    错误位置:

    pBaseAddr = Memory_alloc(gUtils_heapMemHandle[UTILS_MEM_VID_BITS_BUF_HEAP],
    (size * numFrames), IVACODEC_VDMA_BUFFER_ALIGNMENT, eb);

    pBaseAddr返回为NULL。Memory_alloc分配内存出错。

    是不是fullfeature模式下哪里有限制,导致编码时无法分配这么大的空间?