NXP-LPC3250 Except. Handler preempt scheduler

hicon wrote on Wednesday, September 08, 2010:

Hello All.
I’m trying to run FreeRtos on NXP_LPC3250.
I use the Crossworks compiler and my debug-interface is an Olimex jtag emulator.

I have created 2 simply Tasks which only puts an debug char " i.g. debug_putchar(‘3’);".

Using the non-preemtive scheduler works fine. Task switch in FIFO occures in an infinit loop.

In preemtive mode triggered on a Timer0 results in an Hard-Fault exception “undef handler” respectively at an critical memory location.
Each Task will only run for one Time in creating order at same priority for each task.
The tasks switch correctly at the RTOS-Tick.

If I add one more task - it goes through 3 tasks…through 4 tasks…5 tasks… and so on.

void vLEDToggleFunction_3(void *pvParameters)
    const char *pcTaskName;
    pcTaskName= “Task 3 is running”;
    xLastWakeTime = xTaskGetTickCount();

        char temp;
        temp = xLastWakeTime;
        debug_putchar(’ ');

Some idea?


edwards3 wrote on Wednesday, September 08, 2010:

Have you tried it without the debug_putchar() calls? Or maybe having a gatekeeper task that is the only one that ever makes debug_putchar() calls with the other tasks sending their messages to the gatekeeper?

hicon wrote on Thursday, September 09, 2010:

Yes if have tried it without. If i run the idle task only the Exception occures at first System Tick.
I think it depends at a timing(interrupt) problem.

rtel wrote on Thursday, September 09, 2010:

There is no official 3250 port, so presumably you put it together yourself.  In which case I’m afraid I have to conclude there is an issue in your port code.