As heterogeneous embedded systems are getting more powerful and common place there are a number of complexities that come with creating the associated software stacks. This talk will cover some of these issues and discuss solutions, tying together topics such as heterogeneous HW (Xilinx Versal ACAP and Zynq MPSoC), use cases, OpenAMP, System Device Trees, Hypervisors, Cache coloring, Ultra96V2 and CCIX.