nobody wrote on Saturday, March 31, 2007:
Greetings,
I have tried now for a very long time to get the board showing some kind of life but with no luck so far. Help is needed…
The program I try to make running is just one simple task where I want to blink the display backlight:
void vBlinkTask ( void *pvParameters )
{
(void) pvParameters;
AT91C_BASE_PIOB->PIO_PER = AT91C_PIO_PB20; // Set in PIO mode
AT91C_BASE_PIOB->PIO_OER = AT91C_PIO_PB20; // Configure in Output
while (1)
{
AT91C_BASE_PIOB->PIO_SODR = AT91C_PIO_PB20;
vTaskDelay(1000 / portTICK_RATE_MS);
AT91C_BASE_PIOB->PIO_CODR = AT91C_PIO_PB20;
vTaskDelay(1000 / portTICK_RATE_MS);
}
}
In the main loop I try to start the task by :
xTaskCreate( vBlinkTask, ( signed portCHAR * ) "Blink", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL );
before I call
vTaskStartScheduler();
The backlight lights up all right but it stays on. I seems to me that the scheduler is not running.
In Port.c I initialize the tick interrupt this way:
/* Configure the PIT period. */
AT91F_PITInit (AT91C_BASE_PITC, 1000, 48);
AT91F_PITEnableInt (AT91C_BASE_PITC);
AT91F_PITC_CfgPMC();
AT91F_AIC_EnableIt(AT91C_BASE_AIC, AT91C_ID_SYS);
Is there anyone out there who can point out for me where to look in order to make the OS running ?
If more info is needed please let me know.
Best Regards
RaceMouse