The base addresses
You find the base address for the GPIO IP block by looking it up in the xparameters.h file. This file can be found at zybo/xil_arm_toolchain/bsp/ps7_cortexa9_0/include/xparameters.h.
We often refer to stacks when we talk about computing systems. A stack is a conceptual term that refers to multiple layers of software stacked one upon the other. See [Programming Stack] for more information on how this terminology applies to this lab.
Applications on embedded systems are developed in layers like a cake. We commonly refer to this as the program stack. Layers are used to hide detail and to make a project more manageable and maintainable. The device layer typically consists of board-level physical components such as switches, LEDs, USB ports, HDMI in and out ports, etc. For FPGA-based systems like ZYNQ, hardware that communicates with these devices is often placed in the FPGA fabric (the instructors have already done that for this class). Low-level driver software hides low-level details from the top layer, the application.