This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

IAP: jumping from RT bootloader to user application

Hi,

I wanted to develop a bootloader using the RTX kernel operating system and run several tasks for communication and a state machine. I tried out the AN2557 IAP example before and it worked pretty well to jump to a different address. Now my question is:

If I use the RTC kernel for the bootloader, can I still just jump to another address to continue execution of the user program or do I need to do somethin different (i.e kill the tasks of the bootloader)?

Would appreciate any thought on this.

Thanks,

Martin

Parents Reply Children
  • to have two independent tasks for the state machine and the communication

    But you are most likely able to solve this problem using a super-loop, as mostly no real-time behavior is needed in a bootloader. This will decrease your ROM footprint and program complexity.

  • I don't think you are following the KISS method here. You are overcomplicating things. There shouldn't be a need for an RTOS in the boot loader to handle a state machine and communication.

    On one hand, a single loop can process multiple state machines without any problems.
    And the majority of the communication would basically make use of hw or sw FIFO or similar

  • That could be said about many programs. For example, protothreads can handle multiple concurrent processes just fine in a great many applications without sacrificing readability.
    Usually it is though that a bootloader should be small to leave the bulk of program memory to the main application. However, if memory shortage is not an issue, this point is not valid any more.
    There is one important reason to keep the bootloader simple. Hopefully, simplicity would lead to fewer bugs. This is important since it is not so easy to replace the bootloader as opposed to the main application.

  • Why have RTX run your bootloader?
    ....
    to have two independent tasks for the state machine and the communication

    it is amazing how many of todays grads that would use a RTX for 'blinky' were they to originate it.

    Erik