Other Parts Discussed in Thread: MSP430F5418
Hai,
I am using MSP430F5418 with FreeRTOS.
I downloaded FreeRTOS 6.1.0 from their website and configure it for my processor.
My modifications are given below.
1. Replaced "ORG 0xFFE0 + TIMERA0_VECTOR" in portext.s43 with the following (Line 126)
ORG 0xFF80 + TIMER0_A0_VECTOR
2. modify vPortSetupTimerInterrupt() in port.c with the following (Line 117)
TA0CTL = MC1 | TASSEL0 | TACLR;
TA0CCR0 = ( portACLK_FREQUENCY_HZ / configTICK_RATE_HZ ) - 1;;
TA0CCTL0 = CCIE;
3. Replaced all "call #function_name" with "calla #function_name" in portext.s43 (Line 102,80,77)
But the scheduler is working properly but functions like vTaskDelay, vTaskResume is not working.
My code is given below..
int main( void )
{
WDTCTL = WDTPW + WDTHOLD;
xTaskCreate (vMyTask2, (const signed portCHAR * const) "Task 2", 160, NULL, (tskIDLE_PRIORITY + 1), &xTask2);
xTaskCreate (vMyTask1, (const signed portCHAR * const) "Task 1", 160, NULL, (tskIDLE_PRIORITY + 1), &xTask1);
vTaskStartScheduler();
}
void vMyTask1 ( void * pvParameters )
{
for( ;; )
{
i++;
}
}
void vMyTask2 ( void * pvParameters )
{
for( ;; )
{
i = 0;
vTaskDelay(10);
}
}
The error I got when executing is "User error: Illegal opcode found on address 0x2BBBA "
The address will change if I add or remove statements in the eternal loop.
Can anybody please answer my question?
Regards,
Hari