It seems like the missing channel creation
[ 0.109011] virtio_rpmsg_bus virtio0: creating channel rpmsg-openamp-demo-channel addr 0x0 is related to where the memory data section (.bss, .heap and .stack) is located. If the memory data section is located in the OCRAM m_text section there is a very little chance that the initialization fails. If the memory data section is located in the m_data section there is a pretty good chance that it fails (especially after a full power down and waiting for a small amount of time).
Ways to reproduce. Run the
demo_apps/rpmsg/str_echo_freertos after applying the following change to the linker file Linker file patch. It will quite often fail already at startup. Also some other rpmsg crashes that happen later might be related to this and we experience quite often that the rpmsg doesn’t initialize correctly. This issue appeared just lately and got more and more severe (We just never had the means to reproduce it until now). I suspect that it is because our data section is now partially in the m_data section anyway. Based on the strange behavior and the fact that it happens sometimes even if it is in the m_text section I would suspect a caching issue.
Anyway, I would be very grateful if someone could look into this with better knowledge of the architecture as the rpmsg channel is a crucial part of our software!