For the ZCU111 and ZCU102 development boards (and possibly other Ultrascale development boards), Xilinx has configured by default to idle the
ARM processor when using the Vivado Hardware Manager and Vivado ILA. The following steps detail how to add a .cfg file to a petalinux project
to disable the idling of the processor.
Within the petalinux project project-spec/meta-user/
directory, create a recipes-kernel/linux/linux-xlnx/v[VIVADO VERSION NUMBER]
.
e.g. mkdir -p project-spec/meta-user/recipes-kernel/linux/linux-xlnx/v2019.2
After that, create a file called linux-xlnx_[VIVADO VERSION NUMBER].bbappend
within the project-spec/meta-user/recipes-kernel/linux
directory.
If the version of Vivado that is being used is 2019.2, it would be named linux-xlnx_2019.2.bbappend
. Add the following contents to the file
(replacing 2019.2 with the version of Vivado being used):
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-xlnx/v2019.2:"
SRC_URI_append_zynqmp = " file://zynqmp-disable-cpu-idle.cfg"
Next create a zynqmp-disable-cpu-idle.cfg
file within the project-spec/meta-user/recipes-kernel/linux/linux-xlnx/v2019.2
directory with
the following contents:
# CONFIG_CPU_IDLE is not set
After building the petalinux project, these files will allow one to run the Hardware Manager and ILA without the CPU idling.
Contact us for ways our FPGA team can bring solutions like these to your project, or join us to be a part of our growing team!