I'm interested in using RTEMS as both a featureful bootloader and as my application environment. Is there a straightforward way to use RTEMS as a bootloader itself?
In principle, the following seems like it should work: - Provide a bootloader BSP that links RTEMS into an address range that is non-overlapping with the application's load range - Provide a standard ELF loader from ... somewhere? Maybe I can borrow some of the RTEMS loader logic to do this? Maybe the Xilinx FSBL can be adapted to the purpose? - Jump to the ELF's entry point. One of the things I'm uncertain about is whether or not the Zynq BSP's startup logic is idempotent. Is there some startup logic that is not safe to run twice? This is something of an X/Y problem. The real problem I'm trying to solve is to provide a safe-mode ROM software image alongside the field-programmable software image, where the ROM is capable of receiving updates to the field-programmable image. When my team sketched out the concept, it seemed like the most reliable way to do this was for the FSBL to unconditionally load the safe-mode image, and that the safe-mode image would chain-load into the appropriate application image. But if RTEMS support for chain-loading in this way isn't adequate, then the FSBL will have to conditionally load either the safe-mode or application image. Chain-loading is attractive due to some implementation details of the flash layout on our project. I'd rather not go through the process of porting and embedding YAFFS into the FSBL if I can avoid it. Thanks, -- Jonathan Brandmeyer _______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users