About multicore function of the microcontrollers
Posted: Thu Jun 25, 2015 8:38 am
Hi!
I am a student, and I want to learn more about the features of multicore microcontrollers.
Does any detailed documentation exist (preferably published by XMOS), where I can learn about them? I saw some books on the internet, but I am not sure, that in these books, the multicore microcontrollers architectures functionality is the same, as in the xCORE microcontrollers.
Another question:
I am working with a CAN gateway with two(!) XS1-L8A-64-LQ64 microcontrollers, each with 1-1 Tile.
I want to make my program to do so: The specified parts of the program should run on different cores and Tiles.
For example: This code part runs now on the same Tile:
int main()
{
streaming chan c_can1;
streaming chan c_can2;
par
{
on tile[1]: application(c_can1, c_can2, 10000000, 0x12345678);
on tile[1]: can_server(c_can1, p_can1, t_can1, CAN_BUFFER_SIZE);
on tile[1]: can_server(c_can2, p_can2, t_can2, CAN_BUFFER_SIZE);
}
return 0;
}
But when is try to run them on different Tiles, or on the same Tile, but on a specifield core, than it does not work. (BTW. How should I number the Tiles, when they are on a different microconroller? Makes the xTIME Composer Studio the connection automatically?)
Is it possible somehow, to solve the problem?
Thank you for your answer.
I am a student, and I want to learn more about the features of multicore microcontrollers.
Does any detailed documentation exist (preferably published by XMOS), where I can learn about them? I saw some books on the internet, but I am not sure, that in these books, the multicore microcontrollers architectures functionality is the same, as in the xCORE microcontrollers.
Another question:
I am working with a CAN gateway with two(!) XS1-L8A-64-LQ64 microcontrollers, each with 1-1 Tile.
I want to make my program to do so: The specified parts of the program should run on different cores and Tiles.
For example: This code part runs now on the same Tile:
int main()
{
streaming chan c_can1;
streaming chan c_can2;
par
{
on tile[1]: application(c_can1, c_can2, 10000000, 0x12345678);
on tile[1]: can_server(c_can1, p_can1, t_can1, CAN_BUFFER_SIZE);
on tile[1]: can_server(c_can2, p_can2, t_can2, CAN_BUFFER_SIZE);
}
return 0;
}
But when is try to run them on different Tiles, or on the same Tile, but on a specifield core, than it does not work. (BTW. How should I number the Tiles, when they are on a different microconroller? Makes the xTIME Composer Studio the connection automatically?)
Is it possible somehow, to solve the problem?
Thank you for your answer.