Eventually I got to build RTEMS 6 and boot it on a zynqMP board using the, I think, only currently available way of stopping u-boot and manually loading with fatload.
I think the use of u-boot here is like hacking two wheels of a car to have a bike… plus, obviously, the manual stop and load doesn’t make it deployable beyond the developer’s desk.
I expected only FSBL needed to load RTEMS as ELF and hand over to it, as all baremetal apps are usually run on Zynq and ZynqMP. I can’t see why u-boot should be involved. Other RTOSes are just loaded by FSBL (FreeRTOS, etc)
Are there plans to implement, at least, a way to boot without manual intervention, maybe in RTEMS 7?
Using a pre-built boot.bin with u-boot is the easy first step to get things up and running. If you’d like to build your own boot.bin that directly includes RTEMS that’s fine and you can choose a different bootloader if you prefer.
As for u-boot, all you need to do is change the value of the u-boot “bootcmd” environment variable to do whatever you want or you can blank it out to be dropped to a prompt, instead.
The exact boot method used is a bit outside the scope of RTEMS and is more of an integration issue; you’d experience the same thing with Linux, FreeRTOS, Zephyr, etc… We have plans for tooling to assist with some parts of this, but it’s not a high priority.