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.

AWR1843: MSS CR4-only reset can let MSS run start from main() with ROM Eclipsing, but seems will have exception error when run into MmwDemo_edmaOpen

Part Number: AWR1843

Hi 

  I would like to have a reset of whole radar system with ROM Eclipsing after for couple frame result send out to have a quick re-start w/o download image from flash. I use the following method to have a MSS CR4-only reset 

ptrSOCDriverMCB->ptrRCMRegs->CR4CTL=0x00ad0000;
ptrSOCDriverMCB->ptrRCMRegs->CR4CTL=0x0000ad00;

ptrSOCDriverMCB->ptrRCMRegs->SOFTCORERST=0xad0f0f00;
ptrSOCDriverMCB->ptrRCMRegs->SOFTRST1=0xad;

The system can jump to the start of MSS main(), but it will have exception error when run into  MmwDemo_edmaOpen in the MmwDemo_initTask().  

I have some questions:

(1) What need to do before software reset to prevent such kind of error happen? I check the SBL code, after image load successful, it will close the QSPI, UART and copy gSblMCB.sblIntVecTable to _appVecs, do I need to do similar things before software reset?

(2) After the Software reset, I find similar all of the global variable clear to zero, is there any data memory area that can keep the data after the software reset? does the DSS data memory will be reset too?

thanks 

  • Hi,

    Please take a look at the function SOC_softReset() in

    C:\ti\mmwave_sdk_03_05_00_01\packages\ti\drivers\soc\src\soc.c

    thank you

    Cesar

  • Hi Cesar

    I take a look at the soc.c SOC_softReset, but it just the code how to use the register to issue a R4F reset, but it does not have information that can answer my question.

    int32_t SOC_softReset(SOC_Handle handle, int32_t* errCode)
    {
    SOC_DriverMCB* ptrSOCDriverMCB;
    int32_t retVal = 0;

    /* Get the pointer to the SOC Driver Block: */
    ptrSOCDriverMCB = (SOC_DriverMCB*)handle;
    if (ptrSOCDriverMCB == NULL)
    {
    *errCode = SOC_EINVAL;
    retVal = MINUS_ONE;
    }
    else
    {
    /* Configure the register to issue R4F reset. */
    ptrSOCDriverMCB->ptrRCMRegs->SOFTRST1 = CSL_FINSR(ptrSOCDriverMCB->ptrRCMRegs->SOFTRST1, 7U, 0U, 0xADU);
    }
    return retVal;
    }

  • Hi Cesar

       Attached is CCS screenshot after the SOC_softreset() , MSS run into start of main() and run into MmwDemo_edmaOpen result, hope this can help to let you know the problem. Thanks.

  • Hi,

    Did you close the EDMA driver before the soft reset?

    The SoftReset should not delete the memory

    Thank you

    Cesar