size:
FRAME_HEIGHT = 64
FRAME_WIDTH = 32
LED: RGB
Driver: MBI5024
Controller: XMOS L1
video source SD card
As I don’t have any L1 board having sufficient I/O so right now I am building this project on my XC-3 board. I will use core 0 and all other cores are idle.
I used four threads. Two for LED Driver, one for LED buffer and other one for SD card Video player.
When I used all the threads on Core 0 and build the project, it builds successfully without any error but practically system is not running. It is giving reading error on SD card thread. Please note that there is no coding error n SD card thread.
Code: Select all
int main(void)
{
streaming chan c_led_data_out;
chan c_led_data_in;
par
{
on stdcore[0]: ledbuffer(c_led_data_in, c_led_data_out);
on stdcore[0]: leddrive(c_led_data_out,
p_led_out_r0, p_led_out_g0, p_led_out_b0, p_led_out_r1, p_led_out_g1, p_led_out_b1,
p_led_out_addr, p_led_out_clk , p_led_out_ltch, p_led_out_oe ,
b_led_clk, b_led_data, b_led_gsclk, b_ref);
on stdcore[0]: sdServer(c_led_data_in);
}
return 0;
}
Constraint check for "stdcore[0]" (node "0", core 0):
Stack available: 0x00005d5c, used: 0x000055cc . OKAY
Threads available: 8, used: 4 . OKAY
Timers available: 10, used: 1 . OKAY
Chanends available: 32, used: 7 . OKAY
Constraints checks PASSED.
Constraint check for "stdcore[1]" (node "0", core 1):
Stack available: 0x0000f06c, used: 0x000000d4 . OKAY
Threads available: 8, used: 1 . OKAY
Timers available: 10, used: 1 . OKAY
Chanends available: 32, used: 1 . OKAY
Constraints checks PASSED.
Constraint check for "stdcore[2]" (node "0", core 2):
Stack available: 0x0000ec84, used: 0x000000d4 . OKAY
Threads available: 8, used: 1 . OKAY
Timers available: 10, used: 1 . OKAY
Chanends available: 32, used: 1 . OKAY
Constraints checks PASSED.
Constraint check for "stdcore[3]" (node "0", core 3):
Stack available: 0x0000f06c, used: 0x000000d4 . OKAY
Threads available: 8, used: 1 . OKAY
Timers available: 10, used: 1 . OKAY
Chanends available: 32, used: 1 . OKAY
Constraints checks PASSED.
Code: Select all
int main(void)
{
streaming chan c_led_data_out;
chan c_led_data_in;
par
{
on stdcore[1]: ledbuffer(c_led_data_in, c_led_data_out);
on stdcore[0]: leddrive(c_led_data_out,
p_led_out_r0, p_led_out_g0, p_led_out_b0, p_led_out_r1, p_led_out_g1, p_led_out_b1,
p_led_out_addr, p_led_out_clk , p_led_out_ltch, p_led_out_oe ,
b_led_clk, b_led_data, b_led_gsclk, b_ref);
on stdcore[0]: sdServer(c_led_data_in);
}
return 0;
}
Constraint check for "stdcore[0]" (node "0", core 0):
Stack available: 0x00005e40, used: 0x00003db0 . OKAY
Threads available: 8, used: 3 . OKAY
Timers available: 10, used: 1 . OKAY
Chanends available: 32, used: 5 . OKAY
Constraints checks PASSED.
Constraint check for "stdcore[1]" (node "0", core 1):
Stack available: 0x0000ef38, used: 0x00001814 . OKAY
Threads available: 8, used: 1 . OKAY
Timers available: 10, used: 1 . OKAY
Chanends available: 32, used: 3 . OKAY
Constraints checks PASSED.
Constraint check for "stdcore[2]" (node "0", core 2):
Stack available: 0x0000ec84, used: 0x000000d4 . OKAY
Threads available: 8, used: 1 . OKAY
Timers available: 10, used: 1 . OKAY
Chanends available: 32, used: 1 . OKAY
Constraints checks PASSED.
Constraint check for "stdcore[3]" (node "0", core 3):
Stack available: 0x0000f06c, used: 0x000000d4 . OKAY
Threads available: 8, used: 1 . OKAY
Timers available: 10, used: 1 . OKAY
Chanends available: 32, used: 1 . OKAY
Constraints checks PASSED.
Regards
jags