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.

IWRL6432: Factory calibration error

Part Number: IWRL6432
Other Parts Discussed in Thread: UNIFLASH, ,

Hello,

During bring-up custom board, error occurs with factory calibration.

My environment is like below

  • HW: Custom board
    • Flash memory is changed
    • Temperature sensor are removed
    • There is only CAN interface, no UART.
  • SDK L: 5.3.0.2 version
  • Example: Motion and presence detection demo
  • Configuration: MotionDetect.cfg is hard coded

Test cases:

1) when factoryCalibCfg 1 0 40 0 0x1ff000

2) factoryCalibCfg 0 0 40 0 0x1ff000

3) factoryCalibCfg 0 1 40 0 0x1ff000

4) comment out mmwDemo_factoryCal from CLI_MMWaveSensorStart

I checked that all Hard coding is done successfully. Here is the log.

[Cortex_M4_0] Error: mmWave Control Initialization failed [Error code -203227582] [errorLevel 2] [mmWaveErrorCode -3102] [subsysErrorCode 16272]

Calibration Invalid

sensorStop Done

 

channelCfg Done

 

chirpComnCfg Done

 

chirpTimingCfg Done

 

frameCfg Done

 

guiMonitor Done

 

sigProcChainCfg Done

 

cfarCfg Done

 

aoaFovCfg Done

 

rangeSelCfg Done

 

clutterRemoval Done

 

compRangeBiasAndRxChanPhase Done

 

adcDataSource Done

 

adcLogging Done

 

lowPowerCfg Done

 

factoryCalibCfg Done

 

mpdBoundaryBox Done

 

mpdBoundaryBox Done

 

mpdBoundaryBox Done

 

mpdBoundaryBox Done

 

sensorPosition Done

 

minorStateCfg Done

 

majorStateCfg Done

 

clusterCfg Done

 

baudRate Done

 

Error: FECSS RF Power ON/OFF failed

Error: mmWave Control Initialization failed [Error code -203227134] [errorLevel 2] [mmWaveErrorCode -3101] [subsysErrorCode 0]

Exception: ../motion_detect.c, line 4046.

ASSERT: 3.6337s: ../motion_detect.c:mmwDemo_factoryCal:4046: 0 failed !!!

Please let me know what could caused this.

  • Hello.

    Please refer to the E2E FAQ to see if any of the solutions here address your issue.  It is also common for other issues in your configuration to cause issues as they may be theoretically correct but not supported by the firmware.  Are you making any changes to the MotionDetect.cfg other than with the factoryCal configuration or is factoryCal the only command you are modifying?

    Sincerely,

    Santosh

  • Hello, Santosh.

    sensorStop is added. And lowPowerCfg is disabled.(I tried both enable and disable)

    #define CLI_BYPASS 1
    #define MAX_RADAR_CMD 26
    char* radarCmdString[MAX_RADAR_CMD] =
    {
         "sensorStop 0",
         "channelCfg 7 3 0",
         "chirpComnCfg 8 0 0 256 4 28 0",
         "chirpTimingCfg 6 63 0 75 60",
         "frameCfg 2 0 200 64 250 0",
         "guiMonitor 2 1 0 0 0 1 0 0 0 0 0",
         "sigProcChainCfg 32 2 1 0 4 4 0 15",
         "cfarCfg 2 8 4 3 0 12.0 0 0.5 0 1 1 1",
         "aoaFovCfg -60 60 -40 40",
         "rangeSelCfg 0.1 12.0",
         "clutterRemoval 1",
         "compRangeBiasAndRxChanPhase 0.0 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000",
         "adcDataSource 0 C:/ti/mmwave_lp_sdk/examples/datapath/common/testBench/major_motion/adc_data_0001_CtestAdc6Ant.bin",
         "adcLogging 0",
         "lowPowerCfg 0",
         "factoryCalibCfg 1 0 40 0 0x1ff000",
         "mpdBoundaryBox 1 0 1.48 0 1.95 0 3",
         "mpdBoundaryBox 2 0 1.48 1.95 3.9 0 3",
         "mpdBoundaryBox 3 -1.48 0 0 1.95 0 3",
         "mpdBoundaryBox 4 -1.48 0 1.95 3.9 0 3",
         "sensorPosition 0 0 1.44 0 0",
         "minorStateCfg 5 4 40 8 4 30 8 8",
         "majorStateCfg 4 2 30 10 8 80 4 4",
         "clusterCfg 1 0.5 2",
         "baudRate 1250000",
         "sensorStart 0 0 0 0"
    };

    I found similar issue in here.

    "Error: FECSS RF Power ON/OFF failed"  "Error: mmWave Control Initialization failed [Error code -203227134] [errorLevel 2] [mmWaveErrorCode -3101] [subsysErrorCode 0] "

    But I can't see how to fixed it.

    Best regards,

    JIYEON.

  • Hello.

    Did you try running the solutions provided in the FAQ that I linked in my previous post?  You may need to run ATE calibration on your custom board.

    Sincerely,

    Santosh

  • Hello.

    According to FAQ post  about ATE, I did below steps.

    1.Flash C:\ti\MMWAVE_L_SDK_05_03_00_02\tools\Ate_Calibration\xwrL64xx\calibration_example.release.appimage

    2. Run readComPort.py script

    3. Flash motion_and_presence_detection_demo.Release.appimage

    4. Debug. Calibration restored successfully. But It suddenly stops at mmwDemoFrameStartISR during hard coding.

    [Cortex_M4_0] Error: mmWave Control Initialization failed [Error code -203227582] [errorLevel 2] [mmWaveErrorCode -3102] [subsysErrorCode 16272]
    Calibration Validated for restore
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done

    5. Set gDebugTargetCode to 1 and debug. All hard coding is done. But same error occurs and stops.

    But when flash app image using Uniflash, It looks like mmwDemo_TransmitProcessedOutputTask is executed continuously.

    (I made mmwDemo_TransmitProcessedOutputTask to send CAN message for test)

    Is it okay to ignore debugging error and just run application?

    When I set gDebugTargetCode  to 0. mmwDemo_TransmitProcessedOutputTask  is executed only twice.

    [Cortex_M4_0] Error: mmWave Control Initialization failed [Error code -203227582] [errorLevel 2] [mmWaveErrorCode -3102] [subsysErrorCode 16272]
    Calibration Validated for restore
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Error: FECSS RF Power ON/OFF failed
    Error: mmWave Control Initialization failed [Error code -203227134] [errorLevel 2] [mmWaveErrorCode -3101] [subsysErrorCode 0]
    Exception: ../motion_detect.c, line 4047.
    ASSERT: 2.5223s: ../motion_detect.c:mmwDemo_factoryCal:4047: 0 failed !!!

     

    Best regards,

    JIYEON.

  • Hello.

    Have you modified the software to account for the modified flash memory?  Calibration data is stored in flash memory so if you modified flash, you will need to make sure you are storing it all in the correct locations in the new flash memory.  Have you tried the same software currently(unmodified) on an IWRL6432Boost EVM and seen if it works on there?

    Sincerely,

    Santosh

  • Hello,

    "Flash JEDEC Device ID" is updated for new flash memory. Memory size is same.

    Same error occurs at EVM(only Flash JEDEC Device ID is different).

    Best regards,

    JIYEON.

  • Hello.

    I just ran the motion detect configuration hardcoded into the same demo and am not running into any issues.  Are there any changes to the source code that you made or perhaps you are using the incorrect demo(mmw_demo instead of motion_and_presence)?

    Sincerely,

    Santosh

  • Hello,

    I re-import motion_and_presence ccs project and did test with EVM.

    And hard coding enabled.

    #define CLI_BYPASS 1
    #define MAX_RADAR_CMD 26
    char* radarCmdString[MAX_RADAR_CMD] =
    {
         "sensorStop 0",
         "channelCfg 7 3 0",
         "chirpComnCfg 8 0 0 256 4 28 0",
         "chirpTimingCfg 6 63 0 75 60",
         "frameCfg 2 0 200 64 250 0",
         "guiMonitor 2 1 0 0 0 1 0 0 0 0 0",
         "sigProcChainCfg 32 2 1 0 4 4 0 15",
         "cfarCfg 2 8 4 3 0 12.0 0 0.5 0 1 1 1",
         "aoaFovCfg -60 60 -40 40",
         "rangeSelCfg 0.1 12.0",
         "clutterRemoval 1",
         "compRangeBiasAndRxChanPhase 0.0 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000",
         "adcDataSource 0 C:/ti/mmwave_lp_sdk/examples/datapath/common/testBench/major_motion/adc_data_0001_CtestAdc6Ant.bin",
         "adcLogging 0",
         "lowPowerCfg 0",
         "factoryCalibCfg 1 0 40 0 0x1ff000",
         "mpdBoundaryBox 1 0 1.48 0 1.95 0 3",
         "mpdBoundaryBox 2 0 1.48 1.95 3.9 0 3",
         "mpdBoundaryBox 3 -1.48 0 0 1.95 0 3",
         "mpdBoundaryBox 4 -1.48 0 1.95 3.9 0 3",
         "sensorPosition 0 0 1.44 0 0",
         "minorStateCfg 5 4 40 8 4 30 8 8",
         "majorStateCfg 4 2 30 10 8 80 4 4",
         "clusterCfg 1 0.5 2",
         "baudRate 1250000",
         "sensorStart 0 0 0 0"
    };

    Whenever it is debug mode or release mode, it stops at  mmwDemoFrameStartISR.

    When gDebugTargetCode is set to 1, Below error occurs.

    ASSERT: 2.17995s: ../motion_detect.c:mmwDemo_factoryCal:4040: 0 failed !!!

    Could you check that updated radarCmdString is correct?

    Best regards,

    JIYEON

  • Hello.

    Are you trying to run this in debug mode?  If so, you need to make sure that you have flashed the empty project example before trying to load your code onto the device.  You should flash the empty debug image onto the device, switch to functional mode, connect to the cores, and then load the debug .out file for your project to debug.  Please let me know if these steps work.

    Sincerely,

    Santosh

  • Hello,

    Yes, I want to run in debugging.

    I followed steps in CCS Debug with IWRL6432 using CCS  12.2ver.

    As I know there is no ccs debug image for IWRL6432. Instead of it, motion_and_presence_detection_demo.Release.appimage were flashed. But it is same, and empty.Debug.appimage too.

    When run Load memory, error occurs.

    Best regards,

    JIYEON.

  • Hello.

    Are you resetting the device via CPU reset in CCS Debug before loading your code?  Please do this before loading in your code.  Also usually you can just load the program instead of load memory and just select the generated .out file from the project.

    Sincerely,

    Santosh

  • Hello,

    Yes I did CPU reset. "Memory load fail" isn't relevant to "FECSS RF Power ON/OFF failed"?

    Best regards,

    JIYEON.

  • Hello Jiyeon.

    I believe the steps you are taking are more complicated than required.  Can you go through these steps and see if you are able to properly run the demo in CCS debug?

    Sincerely,

    Santosh

  • Hello, Santosh.

    This is my test steps.

    1. Flash empty.release.appimage
    2. Setup Functional mode
    3. Launch CCXML file
    4. Show all cores
    5. Connect target( Coretex M4_0)
    6. Load .out
    7. Run

    There is no "FECSS RF Power ON/OFF" error. But "Failed to read!" occurs continuously.

    [Cortex_M4_0] Calibration Validated for restore
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    Done
    ========== Memory Stats ==========
    Size Used Free
    L3 425984 222948 203036
    Local 28672 640 28032
    Tracker 25600 64 25536
    FeatExt 2048 64 1984
    Failed to read!
    Failed to read!
    Failed to read!
    Done
    Failed to read!
    Failed to read!
    Failed to read!
    Failed to read!

    Best regards,

    JIYEON.

  • Hello Jiyeon.

    Just to confirm, this test was done on the IWRL6432Boost EVM and not the custom board?  Have you also included any debug statements for the "Failed to read!" as I don't recall seeing those on my end.  I also wanted to make sure you reverted all the changes you made for the factory calibration function, such as commenting out mmwDemo_factoryCal in CLI_MMWaveSensorStart.

    Sincerely,

    Santosh

  • Hello, Santosh.

    It happens at both EVM and custom board in i2cReadAddress which called by currentRead228. 

    Error occurs when MCSPI is enabled at syscfg.

    I will check what causes this.

    Thanks for your support.

    Best regards

    JIYEON.