I’ve been reading through the docs again trying to wrap my head around how to customize builds using hte Pynq-Z1 board. I’m a little confused as to the affect on the Zynq and OS when switching overlays on the fly or in a build. Once the image is built and the board boots the system (os / zynq) memory space is setup based on the image and up and running. A few bullets highlighting my confusion are below.
What happens when you load different overlays relative to the Zynq memory space. I ask because all of the objects (block, ip) in the PL are memory mapped. This means changing the overlay could drastically change the memory space correct? Doesn’t that cause problems for software running in linux on the zynq because the address of PL objects change and that trickles through to linux by way of physical address through the MMU to virtual addresses?
If you created a custom board and removed all the microblazes (pmods, arduino, hdmi video etc…) does the make process still compile all of then when building? For example if you delete all the PMOD stuff does the build still access and use the microblaze stuff or does it recognize the PMOD microblaze code (c code for uBlaze and drivers etc…) aren’t necessary?