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.

RTOS/AWR1243: Failure of AWR1243 Sensor Boot up

Part Number: AWR1243

Tool/software: TI-RTOS

Hello,

I am trying to build a radar satellite configuration using FPD-Link with Serdes operation using UB953/960 and TDA2Px EVM acting as a Host processor. I am controlling AWR1243 Boost with the Host processor in which I am giving 5V Supply externally to it. When I compile and run the Vision SDK 3.5, I am facing some problem for AWR1243 Radar Sensor Boot and Configuration. Particularly, when Bsp_ar12xxBoot() in "bspdrv_ar12xx.c" file is called, I get an error "AR12XX: Radar Device Power On failed!!" when Bsp_ar12xxRadarDeviceOn() is called inside Bsp_ar12xxBoot().

When I tried debugging further to identify the source of error, I think rlDevicePowerOn() fails to get initialized. This function is used to initialize the drivers and also bring the AWR1243 out of reset. Could you tell me what part of the this function should I modify to take into account that I am giving a 5V External power supply to the AWR1243 (I am using AWR1243 Boost in this case with 5V external supply). 

I checked the rlDevicePowerOn() definition in "rl_device.c" file and it shows few log file error statements in it, such as RL_LOGE_ARG0. Could you tell me where these log files are stored in the Vision SDK?

I look forward to your reply! Thank you!

Best Regards,

Nishant

  • Nishant,

    Here is a whitepaper that describes the bootloader flow for the AWR1243. Please reference this document to understand how the AWR1243 boot up steps.

    www.ti.com/.../swra561a.pdf

    Regards,
    Kyle
  • Hello Kyle,

    Thank you for sharing the white paper. I am following the Bootloading with SPI using TDA2px Host. As mentioned earlier, I am not able to read the log files mentioned in the driver files. For eg, if you open rl_device.c file (PATH=C:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\radar\mmwave_dfp_01_02_00_00\ti\control\mmwavelink\src\ rl_device.c), you will see "RL_LOGE_ARG0" functions which seem to be some kind of log files here. They do not get printed out to the Tera Term UART Terminal when I run the TDA2px EVM. I tried searching in the vision SDK but couldnt find the log files. I also added "GT_0trace()" for debugging purposes (Under normal circumstances GT_0trace() prints to the UART terminal) but nothing is being printed to the UART Terminal as well. Could you let me know how to get the log files or how to print it out to the UART Terminal?

    I look forward to your reply. Thank you!

    Best Regards,

    Nishant

  • Nishant

    In mmwavelink you need to first set RL_DISABLE_LOGGING to 0 and then recompile the mmwavelink library. This is a CCS project under D:\PROCESSOR_SDK_RADAR_03_05_00_00\ti_components\radar\mmwave_dfp_01_02_00_00 for the M4.

    Once you do this you need to register a call back for the rlPrint. This can be BspOsal_printf.

    Thanks and Regards,
    Piyali
  • Thank you Piyali!

    Best Regards,

    Nishant

  • Hello Piyali,

    I set RL_DISABLE_LOGGING to 0 in mmwavelink.h and I inserted the following lines of code before rlDevicePowerOn() in Bsp_ar12xxRadarDeviceOn() [File location: C:\VisionSDKnew\ti_components\drivers\pdk_01_10_01_06\packages\ti\drv\vps\src\devices\radar_ar12xx\src\bspdrv_ar12xxPriv.c]

    gBspAr12xxObj.rlApp_ClientCtx.dbgCb.dbgLevel=RL_DBG_LEVEL_VERBOSE;
    gBspAr12xxObj.rlApp_ClientCtx.dbgCb.rlPrint =&BspOsal_printf;

    Could you verify if this is what you intended? I tried compiling using usual "gmake" commands used for compiling in TDA2px. It didn't give me any errors. When I tried running it, I don't see any debug statements in my TeraTerm Serial terminal. Is there any other step that I am missing?

    I look forward to your reply.
    Thank you!

    -Nishant

  • Did you recompile the mmwavelink library CCS project? This is outside SDK gmake.

    Thanks and regards,
    Piyali
  • Hello Piyali,

    I recompiled the mmwave library CCS project using VisualStudio and I tried using SDK gmake compilation commands. But I am still not getting any debug statements on my TeraTerm screen. I tried searching the SDK file for any ".txt" or log files too, but I didn't find any. I even added the following 2 lines in the Bsp_ar12xxRegisterCallbacks() defined in the following path- C:\VisionSDKnew\ti_components\drivers\pdk_01_10_01_06\packages\ti\drv\vps\src\devices\radar_ar12xx\src\bspdrv_ar12xxPriv.c

    RlApp_ClientCtx->dbgCb.dbgLevel=RL_DBG_LEVEL_ERROR;
    RlApp_ClientCtx->dbgCb.rlPrint =&BspOsal_printf;

    But I didn't see any debugging statement in the TeraTerm screen. Could you give me any other suggestion to view the log files? Is there any problem with the callback that I have implemented?

    Awaiting your response.
    Thank you!
    - Nishant

  • Nishanth,

    Apologies for the late response. You need to compile the project for the mmwavelink library for the M4 is Code composer studio.

    I tried the same steps in my setup.
    1. Change the file: mmwavelink.h
    /*! \brief
    * mmwavelink MACRO to enable/disable logging.
    * To enable logging set this MACRO to '0' and set proper function pointer
    * dbgCb.rlPrint and debug level dbgCb.dbgLevel out of RL_DBG_LEVEL_* during rlDevicePowerOn
    */
    #define RL_DISABLE_LOGGING 0
    2. Import the project mmwavelink_m4 in CCS and then recompile. This will re-create ti/control/mmwavelink/ccs/m4/../../lib/mmwavelink_m4.lib
    3. Add the following lines in the VPS driver file pdk\packages\ti\drv\vps\src\devices\radar_ar12xx\src\bspdrv_ar12xxPriv.c
    RlApp_ClientCtx->dbgCb.dbgLevel= RL_DBG_LEVEL_VERBOSE;
    RlApp_ClientCtx->dbgCb.rlPrint = &BspOsal_printf;
    4. Clean and build the SDK.
    5. Now when you run, you would get more prints like below:

    [IPU1-0] 99.906240 s: [MMW_VER ] rlDriverCalChkSum:333::Final checksum 0x0
    [IPU1-0] 99.906240 s: [VER ] rlDriverCalChkSum:344::rlDriverCalChkSum ends...
    [IPU1-0] 99.906240 s: [DBG ] rlDriverValidateHdr:387::Checksum validation is successful
    [IPU1-0] 99.906240 s: [VER ] rlDriverOriginDirCheck:988::rlDriverOriginDirCheck starts...
    [IPU1-0] 99.906240 s: [VER ] rlDriverOriginDirCheck:1048::rlDriverOriginDirCheck ends...
    [IPU1-0] 99.906240 s: [VER ] rlDriverVerifyCRC:250::rlDriverVerifyCRC starts...
    [IPU1-0] 99.906240 s: [VER ] rlDriverVerifyCRC:272::rlDriverVerifyCRC ends...
    [IPU1-0] 99.906240 s: [DBG ] rlDriverMsgRead:1293::rlDriverMsgRead Unmask Interrupt call
    [IPU1-0] 99.906240 s: [VER ] rlDriverMsgRead:1297::rlDriverMsgRead ends...
    [IPU1-0] 99.906240 s: [VER ] rlDriverMsgCmdReply:874::rlDriverMsgCmdReply ends...
    [IPU1-0] 99.906240 s: [VER ] rlDriverMsgReadCmdCtx:963::rlDriverMsgReadCmdCtx ends...
    [IPU1-0] 99.906240 s: [VER ] rlDriverWaitForResponse:2251::rlDriverWaitForResponse ends...
    [IPU1-0] 99.906240 s: [DBG ] rlDriverCmdWriter:2294::rlDriverCmdWriter, wait for respond
    [IPU1-0] 99.906240 s: [VER ] rlDriverCmdInvoke:2524::rlDriverCmdInvoke ends...
    [IPU1-0] 99.906240 s: [VER ] rlDriverIsDeviceMapValid:2139::rlDriverIsDeviceMapValid starts
    [IPU1-0] 99.906240 s: [VER ] rlDriverIsDeviceMapValid:2155::rlDriverIsDeviceMapValid ends
    [IPU1-0] 99.906240 s: [VER ] rlDriverGetPlatformId:2099::rlDriverGetPlatformId is called
    [IPU1-0] 99.906240 s: [VER ] rlDriverGetPlatformId:2099::rlDriverGetPlatformId is called
    [IPU1-0] 99.906240 s: [VER ] rlDeviceIdentifyCmdDir:411::rlDeviceIdentifyCmdDir starts...
    [IPU1-0] 99.906240 s: [MMW_VER ] rlDeviceIdentifyCmdDir:448::cmdDir for MSS = 5 (5:host2Mss, 12:dss2Mss)
    [IPU1-0] 99.906240 s: [VER ] rlDeviceIdentifyCmdDir:475::rlDeviceIdentifyCmdDir ends...
    [IPU1-0] 99.906240 s: [VER ] rlDriverCmdInvoke:2414::rlDriverCmdInvoke starts...

    Thanks and Regards,
    Piyali
  • Thank you Piyali for the detailed procedure. I will try following the same steps mentioned above!

    Best Regards,

    Nishant