[U-Boot] Standalone application on secondary cores
Francesco Teodoro
porcobio at hotmail.it
Fri May 30 22:35:43 CEST 2014
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.
More information about the U-Boot
mailing list