issue in an application, after porting the RTOS

issue in an application, after porting the RTOS

Home Forums Real-Time Kernels issue in an application, after porting the RTOS

This topic contains 5 replies, has 2 voices, and was last updated by  Farukh Chaudhry 2 months, 4 weeks ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #26388

    francesco angione
    Participant

    i ported micrum os to a NXP-LPC1768 MCU on a Landtiger V2.0 board, after the developing of the application and i noticed it works in debug mode while in free running mode it is stucked in an Hard fault infinite loop, what should i do? i think it is a memory problem, maybe the interrupts are mapped wrongly or something like that.
    All suggestions are accepted :)

    Thanks in advance

    #27291

    Farukh Chaudhry
    Participant

    Hello Fransesco,

    What is the difference in debug and run mode in your application?

    #27297

    francesco angione
    Participant

    In the debug mode the system is able to work, the tasks are running. In the run mode the OS is apparently blocked in a task which causes an Application Hard Fault ( an infinite loop ).
    There is no difference between the code of debug and run mode ( of course i would say ).
    Perhaps the assumption we could do is that in the debug mode are introduced some traps software by the debbuger which don’t cause any kind of problems

    #27315

    Farukh Chaudhry
    Participant

    Hello Francesco,

    If the task you are speaking about gets blocked, what other tasks are associated with the blocked task? Make sure you have enough task stack allocation as this may trigger a hard fault a task stack overflows. Without viewing the hard fault status registers, you can reverse engineer the problem by disabling tasks and checking for the hard fault. Make sure the task create functions are setup properly.

    #27316

    francesco angione
    Participant

    Apparently, all the task are blocked.
    In addition i also tried to execute one task at time and there is always the same problem ( it works only in the debug mode ).
    I also increased the stack allocation but it did not work, should i increase it more?
    The task create fucntion seems correct.
    I was thinking about a memory problem, could it be that i mapped wrongly the IVT? or even worse the main memory is not enough for containing all the RTOS + application?

    #27317

    Farukh Chaudhry
    Participant

    Hi Francesco,

    What existing Micrium port was used and what IDE are you using? If the application is working in debug mode, the IVT setup should be fine. Since this is a new port, you should perform a test running only the idle task.

    The RTOS overhead is small, I would advise to setup a simple application running an idle task and another task that toggles an LED.

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.

View the complete site map

x
Loading...