Post Go back to editing

What is the procedure for restarting the three cores of SC587 in the application context?

Category: Software
Product Number: ADSP-SC587

Hi

What is the procedure for restarting the three cores of SC587 in the application context?

  • Hi,

    It seems you are referring to performing a software-based reset that restarts all three cores of the ADSP-SC587 processor. According to the "Reset Control Unit (RCU)" section in the ADSP-SC58x processor Hardware Reference Manual (HRM), specifically in Table 6-4: RCU Reset Sources, setting the RCU_CTL.SYSRST bit triggers a software-initiated reset that resets all functional units, including all three cores.

    Please find more detailed information in the ADSP-SC58x HRM at the following link:
    https://www.analog.com/media/en/dsp-documentation/processor-manuals/SC58x-2158x-hrm.pdf#unique_203

    If this doesn't fully address your requirements, could you please provide more details about your requirements?

    Regards,
    Nandini C

  • Thank you for your support,I began to call *pREG_RCU0_CTL |= 1 in the main function of core0; However, the system did not restart and the program got stuck at adi_install_l2_cache_handler.May I ask if there are any code examples of using RCU registers under SC587 core0.

  • Hi,

    After the device is reset, the debugging session may behave unexpectedly. To confirm the system reset is functioning correctly, reconnect the debugger or flash an LED blink code in flash and verify that the code gets executed after system reset.

    To confirm whether all three cores restart correctly after a system reset, please follow the steps below:

    1. Program a simple LED blink application into the flash memory.
    2. Set the boot switch to the appropriate boot mode to ensure the system boots from flash after a reset.
    3. In the main() function of Core 0, add the following lines to initiate a system reset:
    *pREG_RCU0_BCODE=0x0;
    *pREG_RCU0_CTL |= BITM_RCU_CTL_SYSRST;

    After the reset, the system should boot from flash and run the LED blink application. This will confirm that all three cores have restarted correctly.

    Please try this on your end and let us know the results.

    Regards,
    Nandini C

  • Hi, The system restart was successfully executed in accordance with the method you described. We extend our sincere gratitude for your guidance.