I am working on Imx6 sabre SD free-scale board, we have u-boot compiled for the board also running an standalone API's(simple hello_world program) from u-boot.
But now I want to load & run this standalone application in any of specified core (other then core 0). By default u-boot runs in core 0 of processor.
what are the steps to initialize new core & switch to new core.
Can anyone help me or suggest some reference available.
Hi Edwin
one can try to reuse sdk baremetal example (zip available on SMP Enable in IMX6 )
please check Chapter 3 Multicore Startup iMX6_Firmware_Guide.pdf included in its documentation.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igorpadykov .,
Thanks for your reply.,
Here I am trying write my own bare metal program to initialize the secondary cores & enable.
I tried following steps:
>> I loaded the Hello_world.bin standalone program to the RAM(Addr: 0x10000000) using fatload command.
>> I have added an custom u-boot command in that I am initializing persistent bits of core 2(address) , Reset & Enable of core 2. as follows.
REG(SRC_GPR3) = 0x10000000; //Address of standalone bin file
val = REG(SRC_SCR);
val |= 1 << 14 ;
val |= 1 << 22 ;
REG(SRC_SCR) = val ; // RESET & Enable of secondary core
Up on entering the custom command I expect the standalone program to execute by secondary core, But its not working.
Can you please help me to resolve this issue.
Thank you.,
Regards
Edwin