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.

AM3352: How to software reset AM3352?

Genius 13655 points
Part Number: AM3352

Hello Champs,

BBB: connecting to external SPI flash

CCS; AM335X_StarterWare;

creating a new CCS project based on AM335X_StarterWare, 

Project1: RBL project, 
Project2: APP Project.

Adding software reset function in APP project

(*(void (*)(void))(0x40020000);// Memory Map: Boot ROM 

But the code is not restarted.

Project1:

int main(void)

{

BlPlatformConfig(); // Configures PLL and DDR controller

    ImageCopy();  // Copies application from spi flash to DDR

    UARTPuts("Jumping to StarterWare Application...\r\n\n", -1);

    /* Giving control to the application */

    appEntry = (void (*)(void)) entryPoint;

    (*appEntry)( );

    return 0;

}


Project 2:

int SoftReset(void)

{

       CacheDisable(CACHE_ALL); 

        IntMasterIRQDisable();

        IntAINTCInit();

       

///   WdtSoftReset(); 

 

    // (*(void (*)(void))(0x40000000))();

    //  (*(void (*)(void))(0x402F0400))();

   //  (*(void (*)(void))(0x40020000))();

    //  (*(void (*)(void))(0x402F0400))();

// ((void(*)(void))0x40020000)();

 

 (*(void (*)(void))(0x40020000))();

   for(;;);

    return 0;

}

Thanks.
Rgds
Shine

  • Have you checked the section :8.1.7.3.4 Global Cold Software Reset (GLOBAL_COLD_SW_RST) in the AM335x TRM? 

    the only bare-metal example that I am aware of that demonstrates cpu reset is the cpu_reset example that uses a watch dog timer to reset the CPU. The source for the example is located at pdk_am335x_1_0_xx\packages\ti\starterware\examples\wdt\cpu_reset

    Regards,

    Rahul