Thanks for your reply, jeremyzhou.
I'm using MCUXpresso. I already read the User Manual, and the FreeMarker templates section, and there are interesting things where I can look into. For example, moving an entire folder into RAM is functional to my needs, but there are still things that are not clear:
- I want to compile the different pieces of the project in different .bin files. How can I achieve that?
- The linker templates to move code to RAM seem to copy from Flash to RAM, using Flash space. But I want to copy the application to RAM by myself, and the "core" and "application" to be aware (in context) of each other anyway.
- Do I need to compile the whole project (core and app) together?
You may already know Particle Photon. You can compile the application and download it OTA. The core will connect to the cloud, download the user app and install it. The user app will only have user code, while the core has the OS and drivers. I want to implement something similar to that.
Basically, I want to run the "core" code independently. The "core" code will check on an external memory if there is any "user application", and if there is, copy it to RAM and execute a startup function placed in a known address. The application should be compiled alongside the "core", to know its references, but the "core" code should not be included in the resulting .bin file for "user app".
I hope I was clearer this time. Any project reference, manual or tutorial are very welcome. I know it's a really complex area.
Thanks in advance.