I managed to adapt the FreeRTOS demo to my board, deleted all the demo tasks and began to work on my own. My problem is that Parport initialization of the LED’s is working (they turn on before any tasks and scheduler)
int main( void )
{
/* Setup any hardware that has not already been configured by the low
level init routines. */
prvSetupHardware();
xTaskCreate( vTestTaskB, "Hello", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL );
vTaskStartScheduler();
/* We should never get here as control is now taken by the scheduler. */
return 0;
}
Parport test is within the prvSetupHardware() function. But the simple task doesn’t start. Is it possible something went wrong in the task code and the processor got an error from the RTOS? Here’s the code for the task:
static void vTestTaskB( void *pvParameters )
{
AT91C_BASE_PIOA->PIO_SODR = (1<<17);
/* Tasks must be implemented as continuous loops */
while(1);
}
It should only turn one led off.