Software Tools and Methods
The host software can be based on Linux, an RTOS, or a bare-metal software stack. The example in this document is Linux-based.
In Linux v. 4.1.22-ltsi and later, Linux kernels use device tree overlays to manage drivers for devices that can be dynamically added or removed at runtime.
The device tree is a data structure for describing hardware. Rather than hard coding every detail of a device into the operating system, many aspects of the hardware can be described in a data structure that is passed to the operating system at boot time.
A device tree overlay is a similar data structure that is loaded dynamically at runtime to modify the system hardware description. Linux device drivers are loaded or unloaded when device tree overlays are applied to or removed from a running kernel.
Linux can optionally control freeze logic when the system hardware description is modified with device tree overlays.
The Quartus Prime Pro Edition software supports the PR feature for the device family.