This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to switch off 2nd core for Cortex-A9

I am using dual-core Cortex-A9 in a project where 1 core is enough.

How to switch off another unused core?

  • It depends on exactly what you mean by switching it off.

    The different cores are in different power domains.  So you could entirely remove power from the core(s), or never apply it in the first place.  This would be controlled by the SoC's power management controller (or whatever that silicon vendor calls it).  Meaning you'll have to refer to the SoC's documentations.

    If you just wanted to put the core(s) to sleep in software during development, you could use a simple software loop.  Something like:

      MRC   p15, 0, r0, c0, c0, 5  ; Read MPIDR
      ANDS  r0, r0, #3             ; Mask to leave CPU ID
    loop
      WFINE                        ; If not CPU 0, go into WFI in an endless loop
      BNE   loop
    
  • Hi gxk,

    In our dual core board, we choose the core through the following steps. hope that it will give you some help~

    echo '0' >/sys/devices/system/cpu/cpu1/online 

    you can close the second core
    echo '1' >/sys/devices/system/cpu/cpu1/online

    then you can open the second core~

    B&R

    Hedy