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.

AWR2944EVM: 怎么配置csi2 模块,接受fpga发送的数据

Part Number: AWR2944EVM
Other Parts Discussed in Thread: SYSCONFIG, AWR2944

你好,

我通过sysconfig文件配置了csi2模块,可以通过样例里面的debug发送数据出发中断,

但是我想接受外部csi2数据时,我enable 了dphy模块,但是执行到reset后resetdone一直没有置1,导致模块打开失败,数据无法传输。

我是否还需要进行其他的配置?

谢谢!

  • 请问sysconfig文件是怎么配置的?

  • 你好,

    下面是我的配置文件内容

    ======

    /**
    * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
    * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
    * @cliArgs --device "AWR294X" --package "ETS" --part "Default" --context "c66ss0" --product "MCU_PLUS_SDK_AWR2944@08.02.00"
    * @versions {"tool":"1.11.0+2225"}
    */

    /**
    * Import the modules used in this configuration.
    */
    const crc = scripting.addModule("/drivers/crc/crc", {}, false);
    const crc1 = crc.addInstance();
    const cbuff = scripting.addModule("/drivers/cbuff/cbuff", {}, false);
    const cbuff1 = cbuff.addInstance();
    const adcbuf = scripting.addModule("/drivers/adcbuf/adcbuf", {}, false);
    const adcbuf1 = adcbuf.addInstance();
    const edma = scripting.addModule("/drivers/edma/edma", {}, false);
    const edma1 = edma.addInstance();
    const edma2 = edma.addInstance();
    const hwa = scripting.addModule("/drivers/hwa/hwa", {}, false);
    const hwa1 = hwa.addInstance();
    const ipc = scripting.addModule("/drivers/ipc/ipc");
    const cache_c6x = scripting.addModule("/kernel/dpl/cache_c6x");
    const debug_log = scripting.addModule("/kernel/dpl/debug_log");
    const csirx = scripting.addModule("/drivers/csirx/csirx", {}, false);
    const csirx1 = csirx.addInstance();


    csirx1.$name = "CONFIG_CSIRX0";
    csirx1.dphy.$name = "CONFIG_CSIRX_DPHY0";
    csirx1.phyEnable = true;
    csirx1.dphy.ddrClockInHz = 400000000;
    csirx1.complexio.$name = "CONFIG_CSIRX_COMPLEXIO0";
    csirx1.common.$name = "CONFIG_CSIRX_COMMON0";
    csirx1.complexio.dataLane3_position = "CSIRX_LANE_POSITION_LANE_NOT_USED";
    csirx1.complexio.dataLane2_position = "CSIRX_LANE_POSITION_LANE_NOT_USED";
    csirx1.common.commonCallback = "App_csirxCommonCallback";
    csirx1.context.create(3);
    csirx1.context[0].$name = "CONFIG_CSIRX_CONTEXT0";
    csirx1.context[0].virtualChannelId = 0;
    csirx1.context[0].pingPongSwitchMode = "CSIRX_PING_PONG_LINE_SWITCHING";
    csirx1.context[0].isFrameEndCodeDetect = true;
    csirx1.context[0].isFrameStartCodeDetect = true;
    csirx1.context[1].$name = "CONFIG_CSIRX_CONTEXT1";
    csirx1.context[1].virtualChannelId = 1;
    csirx1.context[1].pingPongSwitchMode = "CSIRX_PING_PONG_LINE_SWITCHING";
    csirx1.context[1].isFrameEndCodeDetect = true;
    csirx1.context[1].isFrameStartCodeDetect = true;
    csirx1.context[2].$name = "CONFIG_CSIRX_CONTEXT2";
    csirx1.context[2].virtualChannelId = 2;
    csirx1.context[2].pingPongSwitchMode = "CSIRX_PING_PONG_LINE_SWITCHING";
    csirx1.context[2].isFrameEndCodeDetect = true;
    csirx1.context[2].isFrameStartCodeDetect = true;

    /**
    * Write custom configuration values to the imported modules.
    */
    crc1.$name = "CONFIG_CRC0";

    edma1.$name = "CONFIG_EDMA0";
    edma1.instance = "EDMA_DSS_A";
    edma1.edmaRmDmaCh[0].$name = "CONFIG_EDMA_RM0";
    edma1.edmaRmDmaCh[0].resourceType = scripting.forceWrite("ownDmaCh");
    edma1.edmaRmDmaCh[0].endIndex = 63;
    edma1.edmaRmQdmaCh[0].$name = "CONFIG_EDMA_RM1";
    edma1.edmaRmTcc[0].$name = "CONFIG_EDMA_RM2";
    edma1.edmaRmTcc[0].endIndex = 63;
    edma1.edmaRmParam[0].$name = "CONFIG_EDMA_RM3";
    edma1.edmaRmParam[0].endIndex = 127;
    edma1.edmaRmReservedDmaCh[0].$name = "CONFIG_EDMA_RM4";

    edma2.$name = "CONFIG_EDMA1";
    edma2.instance = "EDMA_DSS_B";
    edma2.regionId = 0;
    edma2.edmaRmDmaCh[0].resourceType = scripting.forceWrite("ownDmaCh");
    edma2.edmaRmDmaCh[0].$name = "CONFIG_EDMA_RM10";
    edma2.edmaRmDmaCh[0].startIndex = 0;
    edma2.edmaRmDmaCh[0].endIndex = 63;
    edma2.edmaRmQdmaCh[0].$name = "CONFIG_EDMA_RM11";
    edma2.edmaRmTcc[0].$name = "CONFIG_EDMA_RM12";
    edma2.edmaRmTcc[0].startIndex = 0;
    edma2.edmaRmTcc[0].endIndex = 63;
    edma2.edmaRmParam[0].$name = "CONFIG_EDMA_RM13";
    edma2.edmaRmParam[0].startIndex = 0;
    edma2.edmaRmParam[0].endIndex = 127;
    edma2.edmaRmReservedDmaCh[0].$name = "CONFIG_EDMA_RM14";
    edma2.edmaRmReservedDmaCh[0].startIndex = 0;
    edma2.edmaRmReservedDmaCh[0].endIndex = 0;

    hwa1.$name = "CONFIG_HWA0";

    ipc.vringNumBuf = 1;
    ipc.vringMsgSize = 1152;
    ipc.r5fss0_1 = "NONE";

    cache_c6x.marRegionConfig.create(2);
    cache_c6x.marRegionConfig[0].$name = "kernel_dpl_cache_c6x_mar0";
    cache_c6x.marRegionConfig[0].baseAddr = 0xC5000000;
    cache_c6x.marRegionConfig[1].$name = "kernel_dpl_cache_c6x_mar1";
    cache_c6x.marRegionConfig[1].baseAddr = 0x83000000;

    debug_log.enableCssLog = false;

    ======

    第一次使用,不知道怎么上传文件,请见谅

  • 我看到我们的工程师已经把您的问题升级到英文e2e论坛了,请关注产品线工程师的回复。
    https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1161316/awr2944-receive-data-from-csi2

  • 好的,我已经在里面进行沟通了

  • 好的,感谢告知!