[U-Boot] Standalone application on secondary cores

I'm using a SABRE SD board (from Freescale) based on i.MX6 and the u-boot version is the 2014.04 one. What I've been trying to do is to activate the secondary cores so that I would be able to use them. First of all I've imported the commands cpu status/release/reset, then I checked if they were working in this way: U-boot > cpu 1 status (which gives as result: core1 disabled ...) U-boot > cpu 1 release 0x12000000 0 U-boot > cpu 1 status (which gives as result: core1 enabled ...)
Next step was to run a standalone application on secondary cores. First I checked the hello_world application, but it seems that the serial debug for secondary cores is not set (but I'm not sure). So I wrote an application to check if I could get changes in memory. This is the simple application (I just modified the hello_world one):
//standalone app #include <common.h> #include <exports.h> volatile int test[5]={1,2,3,4,5}; int hello_world () { int i; for (i=0; i<5; i++) { test[i] = -test[i]; } return (0); }
First I used it on the boot core (core0) with the "go" command and with the "md" command I checked that the results were correct. Then I used the following command to run it on other cores (the application is at address 0x12000000): U-boot > cpu X release 0x12000000 0 But when I check with the "md" command, I can see that there are no changes in memory. What should I do to make it work? Am I missing something to set before running the application on other cores? I'm new to this subject so every suggestion would be appreciated. Thank you in advance.

Dear Francesco Teodoro.
On 05/30/2014 01:35 PM, Francesco Teodoro wrote:
I'm using a SABRE SD board (from Freescale) based on i.MX6 and the u-boot version is the 2014.04 one. What I've been trying to do is to activate the secondary cores so that I would be able to use them. First of all I've imported the commands cpu status/release/reset, then I checked if they were working in this way: U-boot > cpu 1 status (which gives as result: core1 disabled ...) U-boot > cpu 1 release 0x12000000 0 U-boot > cpu 1 status (which gives as result: core1 enabled ...)
Next step was to run a standalone application on secondary cores. First I checked the hello_world application, but it seems that the serial debug for secondary cores is not set (but I'm not sure). So I wrote an application to check if I could get changes in memory. This is the simple application (I just modified the hello_world one):
Please refer to http://www.denx.de/wiki/view/DULG/UBootStandalone#Section_5.12.4.
One of the first things done by the example stand alone application is to attempt to call back into U-Boot. This will not work correctly for cores other than 0.
Regards, Jim Chargin
participants (2)
-
Francesco Teodoro
-
James Chargin