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/AWR1642: How to reset AWR1642 with SOFTSYSRST?

Part Number: AWR1642

Tool/software: TI-RTOS

I read the http://www.ti.com/lit/ug/swru522c/swru522c.pdf .
It say that SOFTSYSRST (Write 0xAD to trigger warm reset to the chip).

I take this function(SOC_triggerWarmReset) as reference.
This is my code:

SOC_DriverMCB*      ptrSOCDriverMCB;
ptrSOCDriverMCB = (SOC_DriverMCB*)gSblMCB.socHandle;

if (ptrSOCDriverMCB == NULL)
{
  return 1;
}
else
{
  ptrSOCDriverMCB->ptrTopRCMRegs->SOFTSYSRST = CSL_FINSR(ptrSOCDriverMCB->ptrTopRCMRegs->SOFTSYSRST, 7U, 0U, 0xADU);
  return 0;
}

It seems to be wrong.
It didn't restart.


Thanks
JuiYang

  • Hi,

    That SDK (3.2) function will do the warm reset via Watchdog reset only. See the function description of SOC_triggerWarmReset.

    As I see here you have changed the code to write SOFTSYSRST[7:0] register to 0xAD and this should reset the device (warm).

    Are you trying to connect JTAG during this process?

    I just tried writing this register in the mmw demo application and flash the image to the device. I see continuous reset.

    /* topRCM->SOFTSYSRST */
    uint32_t* regAddr = (uint32_t*)0xFFFFE11C;
    
    *regAddr = 0xAD;

    Could you try this way?

    Regards,

    Jitendra

  • Hi Jitendra,

    Thank you.
    I can reset on the AWR1642-EVM.(without High Secure)

    I try it on AWR1642 with High Secure .
    But the AWR1642-HS didn't reset .

    1.Is there any difference of SOFTSYSRST between them ?
    2.What do I need to set up in AWR1642-HS ?

    Regards,
    JuiYang

  • Hi JuiYang,

    Even in HS device there is no firewall around this register which can cause this issue.

    Make sure you are writing SOFTSYSRST register from the application, not from JTAG. And try to print register value over UART (before and after write) and check the value while application is running.

    Regards,

    Jitendra

  • I have a same trouble , can reset AWR1642-EVM but AWR1642-HS  didn't

  • Hi Jitendra,

    static int32_t ARadTek_TEST_Reset (int32_t argc, char* argv[])
    {
        CLI_write ("topRCM->SOFTSYSRST \r\n");
        uint32_t* SOFTSYSRST_Addr = (uint32_t*)0xFFFFE11C;
        CLI_write ("Load Register Address: 0xFFFFFE11C = %X \r\n", *SOFTSYSRST_Addr);
    
        *SOFTSYSRST_Addr = 0xAD;
        CLI_write ("Load Register Address: 0xFFFFFE11C = %X \r\n", *SOFTSYSRST_Addr);
    }
    

    We make a new function in mmw_cli.c.
    When we load command with UART, it will run the function.

    I read this in AWR1642-HS. 


    I read this in AWR1642.(none HS) 



    After it can't reset successfully  in AWR1642-HS, it will be broken.


    Regards,
    JuiYang

  • Hi JuiYang,

    I tried the same code at my end on HS-device (AWR1642BOST). Created mmw demo MetaImage (encrypted) and post flashing to the device; I can see nReset blinking continuously (soft reset). I can see J5[11] pin toggles at every boot if I capture using the Logic analyzer.

    Is this possible for you to flash ccsdebug.bin first to HS device, then connect CCS to manually write that register and see the effect?

    Regards,

    Jitendra

  • Hi Jitendra,

    Thanks for your advice. I try it.

    When I change TOPRCM_SOFTSYSRST(0xFFFFE11C) to 0x000000AD, I can't see nReset blinking.

    But I can see nERROR_OUT(N6) blinking continuously.


    Regards,
    JuiYang

  • Hi JuiYang,

    Based on recent information from the team, reset to AWR1642 HS device via writing this register (warm reset) is not possible.

    You need have some external mean to reset the AWR1642 device.

    It can be external watchdog (based on PMIC or MCU) or via nError pin monitoring of the device.

    Refer this Errata: https://www.ti.com/lit/er/swrz089b/swrz089b.pdf (topic: MSS#34)

    Regards,

    Jitendra