[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