If building XIP image for using with uBoot (example OMAP2430 board)
then uBoot can't execute is, while uImage is running normally from RAM.
The cause of it is that uBoot needs 64 byte header to be added by mkimage
(along with correction of CONFIG_XIP_PHYS_ADDR for the same length).
In case of xipImage this header is added normally, while xipImage misses it
because xipImage is not aware of uBoot specifics.
Likely additional target xipuImage is needed, or may be additional config
such as CONFIG_UBOOT_ADD_HEADER.
Archive thread on this issue:
It's a shame that uboot people don't come to their senses and teach everyone
how to use their 'mkimage' command to put their special header for their boot
loader into the image.
In any case, this is *not* a bug. If anything, it's a missing feature, and its
something that I question. It needs discussing on the ARM mailing list and not
Ergo, rejecting "missing feature".