Boot Flow for PetaLinuxΒΆ

PetaLinux can be used to generate everything needed for Linux to boot on the ADRV9361. However, unlike MPSoC platforms, MAC code running in MicroBlaze processors must be loaded separately. This can be done via JTAG and the Xilinx SDK, but this can be an inconvenient setup. This page describes an alternative boot procedure that loads the design completely from the SD card. See ADRV9361 Boot Mode Selection for details on configuring the hardware to boot from either the SD card on the FMC carrier or the MicroSD Card on the SOM.

  1. Follow the instructions in PetaLinux Projects to build the PetaLinux project as well as the MAC Software Workspace.
  2. Run petalinux-package --boot --fsbl --u-boot --force. This will create a new BOOT.BIN that does not contain the FPGA design. We will create a bitstream that contains the FPGA design along with the bitstream that contains the MAC software for the MicroBlaze processors in the next step.
  3. Navigate to the <proj_root>/components/wlan_mac_workspace folder execute wlan-sdk/scripts/adrv9361_sw_bit_gen.sh or wlan-sdk/scripts/adrv9361_sw_bit_gen.bat (if using Linux or Windows respectively). The output of this script should create a <proj_root>/components/wlan_mac_workspace/bootimg/boot_wlan_lin_dcf.bit
  4. Copy <proj_root>/components/wlan_mac_workspace/bootimg/boot_wlan_lin_dcf.bit to the root folder of an SD card and rename the file wlan.bit
  5. Copy <proj_root>/images/linux/BOOT.BIN to the root folder of an SD card.
  6. Copy <proj_root>/images/linux/image.ub to the root folder of an SD card.
  7. Copy <proj_root>/components/util/uEnv.txt to the root folder of an SD card.

At this point, powering on the ADRV9361 with the SD inserted shoot fully boot both Linux as well as the MAC software in the MicroBlaze processors.