analogdevicesinc / TransceiverToolbox

MATLAB toolbox for ADI transceiver products
https://analogdevicesinc.github.io/TransceiverToolbox/master
Other
54 stars 31 forks source link

adi_build.tcl for Microblaze #157

Closed Beauxrel closed 8 months ago

Beauxrel commented 8 months ago

I am following the instructions here https://wiki.analog.com/resources/tools-software/transceiver-toolbox

====start instructions==== Creating a BOOT.BIN from HDL Workflow Advisor Unlike the support package provided by MathWorks, the update process for the bitstreams requires creation of a BOOT.BIN file which will be compatible with the ADI SD card.

First make sure you have a valid SD card for your platform with the necessary devicetree and kernel image selected. Follow this process here.

Once your SD card is ready, in step 4.3 “Build FPGA Bitstream” of HDL Workflow Advisor select a custom Tcl file for synthesis build. Utilize this adi_build.tcl file located within the BSP as your custom tcl file. ====stop instructions====

I am using a VCU108, so there is no zynq porcessor, but I would think I'd still need to create a new boot.bin / elf file.

Is this a job for PetaLinux?

If not, how would I go about getting through this part of the build without missing anything.

tfcollins commented 8 months ago

adi_build.tcl isn't necessary for Microblaze since the bitstream is kept separate from the rest of the boot components. Take your bitstream and follow these instructions https://wiki.analog.com/resources/tools-software/linux-drivers/platforms/microblaze

Beauxrel commented 8 months ago

@tfcollins it feels like I'm missing a step though, wouldn't my Linux kernel or Root File-system (not sure which one will have the biggest difference) be different since I have inserted IP from SIMULINK? Or will that register be built into the design already? Will I need to write software to read those registers and include that with the build (This is why I thought I needed to use petalinux)

tfcollins commented 8 months ago

Updating the kernel and devicetree to control custom IP from software would be the same process for Zynq and Microblaze. We don't do anything special here with adi_build. This isn't special to ADI platforms and there are many options to access of FPGA IP in software. You can go down the PetaLinux path or just update the devicetree to add a UIO device (among other options).