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.

AM2432: Reset the am2432 soc

Part Number: AM2432

Tool/software:

Hi,

I'm trying to reset the am243x soc.

Via syscfg - I've added MPU region 0x45D00000U size = 4KB all read and write non cached not executable

#define MCU_CTRL_MMR_BASE 0x45D00000U
#define MCU_RST_CTRL_OFFSET 0x0004U
#define MCU_RST_CTRL (*(volatile uint32_t *)(MCU_CTRL_MMR_BASE + MCU_RST_CTRL_OFFSET))
#define MCU_RST_CTRL_KEY (0x5A690000U)
#define MCU_RST_CTRL_RESET_REQ (MCU_RST_CTRL_KEY | 0x1U)

Then at the point I've detected the power start to go down:

__sync_synchronize();
MCU_RST_CTRL = MCU_RST_CTRL_RESET_REQ;
while (1); // Wait for reset

But at this point I see other FreeRTOS tasks keep running so there was no reset.

Is my approach correct ?

What's the correct reset (as if from ccs "system reset")

Thanks,

Eli

  • Hi,

    I've also tryied 

    #define MAIN_CTRLMMR_RST_CTRL_REG (*(volatile uint32_t *)0x43018000U)
    #define MAIN_RST_CTRL_KEY 0x5A690000U
    #define MAIN_SW_WARMRST_BITS 0x06U // Set bits [3:0] to 0b0110

    Then

    __sync_synchronize();//ensures memory barriers
    MAIN_CTRLMMR_RST_CTRL_REG = MAIN_RST_CTRL_KEY | MAIN_SW_WARMRST_BITS;
    while (1); // Wait for reset

    But same results no reset.

    Please advice.

    Thanks,

    Eli

  • Hi,

    Found a function that actually resets the soc:

     SOC_generateSwWarmResetMcuDomain();

    Thanks,

    Eli