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.

AWR2243: MMW Cascade for AWR2243+AM2732

Part Number: AWR2243

In the Cascade system of two AWR2243 chips, we use the cascade demo in the folder "C:\ti\mmwave_mcuplus_sdk_04_04_01_02\mmwave_mcuplus_sdk_04_04_01_02\ti\utils\test\cascade\am273x".

The numFrames in the "rlFrameCfg_t" is 10, but we could not receive 10 frames.The following is the running result:

MMWave MSS Configuration done
CSIRX: MmwCascade_csirxCommonCallback, arg=1, cnt=1
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=1
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=1
CSIRX: MmwCascade_csirxCommonCallback, arg=1, cnt=2
CSIRX: MmwCascade_csirxSOF0callback, arg=1, cnt=1
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=2
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=2
CSIRX: MmwCascade_csirxCommonCallback, arg=1, cnt=3
CSIRX: MmwCascade_csirxCombinedEOFcallback, arg=0, cnt=1
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=3
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=3
CSIRX: MmwCascade_csirxCommonCallback, arg=1, cnt=4
CSIRX: MmwCascade_csirxSOF0callback, arg=1, cnt=2
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=4
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=4
CSIRX: MmwCascade_csirxCommonCallback, arg=1, cnt=5
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=5
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=5
CSIRX: MmwCascade_csirxSOF0callback, arg=1, cnt=3
CSIRX: MmwCascade_csirxCombinedEOFcallback, arg=0, cnt=2
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=6
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=6
CSIRX: MmwCascade_csirxCommonCallback, arg=1, cnt=6
CSIRX: MmwCascade_csirxSOF0callback, arg=1, cnt=4
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=7
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=7
CSIRX: MmwCascade_csirxCommonCallback, arg=1, cnt=7
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=8
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=8
CSIRX: MmwCascade_csirxSOF0callback, arg=1, cnt=5
CSIRX: MmwCascade_csirxCombinedEOFcallback, arg=0, cnt=3
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=9
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=9
CSIRX: MmwCascade_csirxCommonCallback, arg=1, cnt=8
CSIRX: MmwCascade_csirxSOF0callback, arg=1, cnt=6
CSIRX: MmwCascade_csirxCommonCallback, arg=0, cnt=10
CSIRX: MmwCascade_csirxSOF0callback, arg=0, cnt=10
CSIRX: MmwCascade_csirxCommonCallback, arg=1, cnt=9
CSIRX: MmwCascade_csirxCombinedEOFcallback, arg=0, cnt=4
CSIRX: MmwCascade_csirxCombinedEOFcallback, arg=1, cnt=1
MMWave MSS Start done

The code is stoping on the following code:

The "gCSIRXState.callbackCount"  is shown below:

the syscfg file is shown below:

/**
 * 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 "AM273x" --package "ZCE" --part "Default" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM273x.evmAM273x@09.00.00"
 * @versions {"tool":"1.17.0+3128"}
 */

/**
 * Import the modules used in this configuration.
 */
const cbuff      = scripting.addModule("/drivers/cbuff/cbuff", {}, false);
const cbuff1     = cbuff.addInstance();
const crc        = scripting.addModule("/drivers/crc/crc", {}, false);
const crc1       = crc.addInstance();
const csirx      = scripting.addModule("/drivers/csirx/csirx", {}, false);
const csirx1     = csirx.addInstance();
const csirx2     = csirx.addInstance();
const edma       = scripting.addModule("/drivers/edma/edma", {}, false);
const edma1      = edma.addInstance();
const edma2      = edma.addInstance();
const edma3      = edma.addInstance();
const gpio       = scripting.addModule("/drivers/gpio/gpio", {}, false);
const gpio1      = gpio.addInstance();
const gpio2      = gpio.addInstance();
const gpio3      = gpio.addInstance();
const gpio4      = gpio.addInstance();
const mibspi     = scripting.addModule("/drivers/mibspi/mibspi", {}, false);
const mibspi1    = mibspi.addInstance();
const mibspi2    = mibspi.addInstance();
const mibspi3    = mibspi.addInstance();
const clock      = scripting.addModule("/kernel/dpl/clock");
const debug_log  = scripting.addModule("/kernel/dpl/debug_log");
const mpu_armv7  = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false);
const mpu_armv71 = mpu_armv7.addInstance();
const mpu_armv72 = mpu_armv7.addInstance();
const mpu_armv73 = mpu_armv7.addInstance();
const mpu_armv74 = mpu_armv7.addInstance();
const mpu_armv75 = mpu_armv7.addInstance();

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

crc1.$name = "CONFIG_CRC0";

csirx1.$name                                            = "CONFIG_CSIRX0";
csirx1.instOpenEnable                                   = false;
csirx1.dphy.$name                                       = "CONFIG_CSIRX_DPHY0";
csirx1.dphy.ddrClockInHz                                = 300000000;
csirx1.complexio.$name                                  = "CONFIG_CSIRX_COMPLEXIO0";
csirx1.complexio.isAllLanesEnterULPM                    = true;
csirx1.complexio.isAllLanesExitULPM                     = true;
csirx1.common.$name                                     = "CONFIG_CSIRX_COMMON0";
csirx1.common.burstSize                                 = "CSIRX_BURST_SIZE_8X64";
csirx1.common.combinedEndOfFrameCallback                = "MmwCascade_csirxCombinedEOFcallback";
csirx1.common.commonCallback                            = "MmwCascade_csirxCommonCallback";
csirx1.common.isOcpError                                = true;
csirx1.common.isFifoOverflow                            = true;
csirx1.common.isComplexioError                          = true;
csirx1.common.startOfFrameIntr0Callback                 = "MmwCascade_csirxSOF0callback";
csirx1.context[0].$name                                 = "CONFIG_CSIRX_CONTEXT0";
csirx1.context[0].userDefinedMapping                    = "CSIRX_USER_DEFINED_FORMAT_RAW8";
csirx1.context[0].isPayloadChecksumEnable               = true;
csirx1.context[0].isEndOfFramePulseEnabled              = true;
csirx1.context[0].numLinesForLineBasedPingPongSwitching = 1;
csirx1.context[0].isFrameEndCodeDetect                  = true;
csirx1.context[0].numLinesForIntr                       = 0;
csirx1.context[0].isEndOfLinePulseEnabled               = true;
csirx1.context[0].isFrameStartCodeDetect                = true;
csirx1.context[0].isLineStartCodeDetect                 = true;
csirx1.context[0].isGenerateIntrEveryNumLinesForIntr    = false;

csirx2.$name                                            = "CONFIG_CSIRX1";
csirx2.instance                                         = "CSIRX B";
csirx2.instOpenEnable                                   = false;
csirx2.dphy.$name                                       = "CONFIG_CSIRX_DPHY1";
csirx2.dphy.ddrClockInHz                                = 300000000;
csirx2.complexio.$name                                  = "CONFIG_CSIRX_COMPLEXIO1";
csirx2.common.$name                                     = "CONFIG_CSIRX_COMMON1";
csirx2.common.burstSize                                 = "CSIRX_BURST_SIZE_8X64";
csirx2.common.isOcpError                                = true;
csirx2.common.isComplexioError                          = true;
csirx2.common.isFifoOverflow                            = true;
csirx2.common.commonCallback                            = "MmwCascade_csirxCommonCallback";
csirx2.common.startOfFrameIntr0Callback                 = "MmwCascade_csirxSOF0callback";
csirx2.common.combinedEndOfFrameCallback                = "MmwCascade_csirxCombinedEOFcallback";
csirx2.context[0].$name                                 = "CONFIG_CSIRX_CONTEXT1";
csirx2.context[0].isEndOfFramePulseEnabled              = true;
csirx2.context[0].isPayloadChecksumEnable               = true;
csirx2.context[0].numLinesForLineBasedPingPongSwitching = 1;
csirx2.context[0].isFrameEndCodeDetect                  = true;
csirx2.context[0].userDefinedMapping                    = "CSIRX_USER_DEFINED_FORMAT_RAW8";
csirx2.context[0].isGenerateIntrEveryNumLinesForIntr    = false;
csirx2.context[0].isFrameStartCodeDetect                = true;
csirx2.context[0].isLineStartCodeDetect                 = true;

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

gpio1.instance                  = "RCSS_GPIO";
gpio1.pinDir                    = "OUTPUT";
gpio1.$name                     = "NRESET_FE1";
gpio1.RCSS_GPIO.$assign         = "RCSS_GPIO0";
gpio1.RCSS_GPIO.gpioPin.$assign = "PAD_DW";

gpio2.instance                  = "RCSS_GPIO";
gpio2.$name                     = "RCSS_MIBSPIA_HOST_IRQ";
gpio2.RCSS_GPIO.$assign         = "RCSS_GPIO0";
gpio2.RCSS_GPIO.gpioPin.$assign = "PAD_CS";

gpio3.$name                     = "NRESET_FE2";
gpio3.pinDir                    = "OUTPUT";
gpio3.instance                  = "RCSS_GPIO";
gpio3.RCSS_GPIO.$assign         = "RCSS_GPIO0";
gpio3.RCSS_GPIO.gpioPin.$assign = "PAD_DX";

gpio4.$name                     = "RCSS_MIBSPIB_HOST_IRQ";
gpio4.instance                  = "RCSS_GPIO";
gpio4.RCSS_GPIO.$assign         = "RCSS_GPIO0";
gpio4.RCSS_GPIO.gpioPin.$assign = "PAD_CX";

mibspi1.$name                    = "CONFIG_MIBSPI0";
mibspi1.bitRate                  = 1000000;
mibspi1.t2cDelay                 = 0x8;
mibspi1.c2tDelay                 = 0x8;
mibspi1.wDelay                   = 0x10;
mibspi1.frameFormat              = "POL0_PHA1";
mibspi1.instance                 = "RCSS_MIBSPIA";
mibspi1.mibspiChannel[0].$name   = "CONFIG_MIBSPI_CH0";
mibspi1.RCSS_MIBSPI.$assign      = "RCSS_MIBSPIA";
mibspi1.RCSS_MIBSPI.CLK.$assign  = "PAD_CQ";
mibspi1.RCSS_MIBSPI.MISO.$assign = "PAD_CP";
mibspi1.RCSS_MIBSPI.MOSI.$assign = "PAD_CO";

mibspi2.$name                             = "CONFIG_MIBSPI1";
mibspi2.instance                          = "RCSS_MIBSPIB";
mibspi2.bitRate                           = 1000000;
mibspi2.t2cDelay                          = 0x8;
mibspi2.c2tDelay                          = 0x8;
mibspi2.wDelay                            = 0x10;
mibspi2.frameFormat                       = "POL0_PHA1";
mibspi2.mibspiChannel[0].$name            = "CONFIG_MIBSPI_CH1";
mibspi2.mibspiChannel[0].RCSS_CSn.$assign = "PAD_CW";
mibspi2.RCSS_MIBSPI.$assign               = "RCSS_MIBSPIB";
mibspi2.RCSS_MIBSPI.CLK.$assign           = "PAD_CV";
mibspi2.RCSS_MIBSPI.MISO.$assign          = "PAD_CU";
mibspi2.RCSS_MIBSPI.MOSI.$assign          = "PAD_CT";

edma1.$name                             = "CONFIG_EDMA0";
mibspi1.edmaConfig                      = edma1;
mibspi2.edmaConfig                      = edma1;
edma1.edmaRmDmaCh[0].$name              = "CONFIG_EDMA_RM0";
edma1.edmaRmDmaCh[0].startIndex         = 0;
edma1.edmaRmDmaCh[0].endIndex           = 32;
edma1.edmaRmQdmaCh[0].$name             = "CONFIG_EDMA_RM1";
edma1.edmaRmTcc[0].$name                = "CONFIG_EDMA_RM2";
edma1.edmaRmTcc[0].startIndex           = 0;
edma1.edmaRmTcc[0].endIndex             = 32;
edma1.edmaRmParam[0].$name              = "CONFIG_EDMA_RM3";
edma1.edmaRmReservedDmaCh[0].$name      = "CONFIG_EDMA_RM4";
edma1.edmaRmReservedDmaCh[0].startIndex = 0;
edma1.edmaRmReservedDmaCh[0].endIndex   = 11;

mibspi3.$name                            = "CONFIG_MIBSPI2";
mibspi3.bitRate                          = 1000000;
mibspi3.t2cDelay                         = 0x5;
mibspi3.c2tDelay                         = 0x5;
mibspi3.dataSize                         = 8;
mibspi3.frameFormat                      = "POL0_PHA1";
mibspi3.advanced                         = true;
mibspi3.csHold                           = true;
mibspi3.instance                         = "MSS_MIBSPIB";
mibspi3.MSS_MIBSPI.$assign               = "MSS_MIBSPIB";
mibspi3.MSS_MIBSPI.CLK.$assign           = "PAD_AJ";
mibspi3.MSS_MIBSPI.MISO.$assign          = "PAD_AI";
mibspi3.MSS_MIBSPI.MOSI.$assign          = "PAD_AH";
mibspi3.mibspiChannel[0].$name           = "CONFIG_MIBSPI_CH2";
mibspi3.mibspiChannel[0].MSS_CSn.$assign = "PAD_AK";

edma2.$name                        = "CONFIG_EDMA1";
edma2.instance                     = "EDMA_MSS_A";
mibspi3.edmaConfig                 = edma2;
edma2.edmaRmDmaCh[0].$name         = "CONFIG_EDMA_RM5";
edma2.edmaRmDmaCh[0].resourceType  = scripting.forceWrite("ownDmaCh");
edma2.edmaRmQdmaCh[0].$name        = "CONFIG_EDMA_RM6";
edma2.edmaRmTcc[0].$name           = "CONFIG_EDMA_RM7";
edma2.edmaRmParam[0].$name         = "CONFIG_EDMA_RM8";
edma2.edmaRmReservedDmaCh[0].$name = "CONFIG_EDMA_RM9";

mpu_armv71.$name      = "CONFIG_MPU_REGION0";
mpu_armv71.attributes = "Device";

mpu_armv72.$name = "CONFIG_MPU_REGION1";
mpu_armv72.size  = 14;

mpu_armv73.$name    = "CONFIG_MPU_REGION2";
mpu_armv73.baseAddr = 0x80000;
mpu_armv73.size     = 14;

mpu_armv74.$name    = "CONFIG_MPU_REGION3";
mpu_armv74.baseAddr = 0x10200000;
mpu_armv74.size     = 20;

mpu_armv75.$name      = "CONFIG_MPU_REGION4";
mpu_armv75.baseAddr   = 0x102E0000;
mpu_armv75.size       = 16;
mpu_armv75.attributes = "Cached+Sharable";

/**
 * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
 * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
 * re-solve from scratch.
 */
mibspi1.mibspiChannel[0].RCSS_CSn.$suggestSolution = "PAD_CR";

Does anyone know how to config the cascade parameters of AWR2243?

--------------------------------

Thanks for your reply.