Multitasking of separately compiled programs in different flash sectors

The big problem you are going to run into is that these “separate apps” are not going to be able to use any FreeRTOS resources, as if they try, you will end up with two copies of FreeRTOS trying to run at the same time in the system. This means that you MUST enable round robin scheduling and make all these “separate apps” run at priority 0, or you will block the idle task.

Second, they must have been compiled for there “stack” to be at the address you have provided, and not be using that for their local ram.

You also need to make sure that none of the apps will try to share some bit of hardware with another app, since you have (easy) way to provide interlocks on that usage.

Also, the “startup” code for those apps must not reset the hardware used by FreeRTOS (this is basically a specific case of the above, but a piece that might not be though of).