RTX Kernel Port M3

Hello,

I am porting the RTX Kernel to a Cortex-M3 device and ran into a difficulty.

I have set up 2 tasks to toggle 2 LEDs to see if my tasks are running as expected.
As below.

/*---------------------------------------------------------------------------- * Task 4 'blink_P2': Blink LED P2 *---------------------------------------------------------------------------*/
__task void blink_P2 (void)
{ os_itv_set (40); for (;;) { os_itv_wait (); Toggle_P2(); }
} /*---------------------------------------------------------------------------- * Task 5 'blink_P3': Blink LED P3 *---------------------------------------------------------------------------*/
__task void blink_P3 (void)
{ os_itv_set (40); for (;;) { os_itv_wait (); Toggle_P3(); }
}

If the time delay is set the same for both tasks then there is no problem.
Both tasks toggle each LED at 40mS. This works.

However if I change the time delay on one task,(for example the second task to 50mS) then both tasks now take several seconds to toggle the LEDs.

I have ported the RTX kernel previously to an ARM7 core without difficulty but cannot see the problem on the Cortex-M3 ?

Can someone advise please ?

thanks!

Parents
  • Are any other tasks running?
    What are the ask priorities?
    Can you show us the task create section of your code?

    Note: the wait functions are in values of systick not miliseconds.

    Did you properly configure your systick timer?

    Note: to post code you can use < pre> and </ pre> (without the spaces).

    M

Reply
  • Are any other tasks running?
    What are the ask priorities?
    Can you show us the task create section of your code?

    Note: the wait functions are in values of systick not miliseconds.

    Did you properly configure your systick timer?

    Note: to post code you can use < pre> and </ pre> (without the spaces).

    M

Children
More questions in this forum