Dynamic Loader

Hey all,

A bit of a older topic, but does FreeRTOS have a dynamic loader (similar to RTEMS)? If not, what would be the best way of implementing one?


There is no official dynamic loader, but it would be fun to implement one if anybody has any ideas.

One big thing to note is that FreeRTOS is NOT an OS in the sense of being a Master Control Program to run other programs under, but it is an in-program helper to allow a ‘bare metal’ program to support multi-tasking, and thus doesn’t have ‘loader’ functionality.

Also, there would need to be some kind of standard exe format required by the architecture (such as elf). One thing that would be extremly hard to abstract away would have to be interrupt vector tables.

I agree with Richard B. that such a project would be fun, but I have my doubts about portability over the whole range of MCUs currently supported by FreeRTOS.

I have done Boot Loaders, which is sort of this sort of thing, but they do tend to be very system specific, and issues like the interrupt vector table are an issue for some processors (some just let you define where the table is so the problem goes away). This is very much NOT a problem that is FreeRTOS’s to try to handle.

True, but a loader would have to because the IVT in most cases is statically hardcoded and part of the downlaodable image.

Eric Styger has some notes on how you could do this here:

But as others have said, maybe not appropriate for most applications where FreeRTOS is appropriate…
Hope that helps,
Best Regards, Dave

Yea, after a bit of research, it turns out that creating a dynamic loader isn’t in my best interest. Thanks for the input everyone!