The contents I gave you were to verify that your boards compatibility. We’ve verified that xilinx24_1_aarch64
software platform runs on your third-party board.
Now that the kernel is loaded try loading the bitstream on to your platform.
On your embedded device:
cd /rum/media/mmcblk0p1/opencpi/
cp default_mysetup.sh mysetup.sh
source ./mysetup.sh
This is what you should see:
root@plx-zcu102-minimal:/run/media/mmcblk0p1/opencpi# source ./mysetup.sh
Attempting to set time from time.nist.gov
rdate: bad address 'time.nist.gov'
====YOU HAVE NO NETWORK CONNECTION and NO HARDWARE CLOCK====
Set the time using the "date YYYY.MM.DD-HH:MM[:SS]" command.
Running login script.
OCPI_CDK_DIR is now /run/media/mmcblk0p1/opencpi
OCPI_ROOT_DIR is now /run/media/mmcblk0p1/opencpi/..
Executing /etc/profile.d/opencpi-persist.sh.
No reserved DMA memory found on the linux boot command line.
[ 1934.858288] opencpi: loading out-of-tree module taints kernel.
[ 1934.870603] NET: Registered PF_DECnet protocol family
Driver loaded successfully.
OpenCPI ready for zynq.
Loading bitstream
Bitstream loaded successfully
Discovering available containers...
Available containers:
# Model Platform OS OS-Version Arch Name
0 hdl zcu102 PL:0
1 rcc xilinx24_1_aarch64 linux 24_1 aarch64 rcc0
You’ll be looking for “Bitstream loaded succesfully”
Once that is done you can run the testbias
application using standalone mode:
cd application
ocpirun -v -d -m bias=hdl testbias.xml
The output of that should look like this:
% cd applications/
% ocpirun -v -d -m bias=hdl testbias.xml
Available containers are: 0: PL:0 [model: hdl os: platform: zcu102], 1: rcc0 [model: rcc os: linux platform: xilinx24_1_aarch64]
Actual deployment is:
Instance 0 file_read (spec ocpi.core.file_read) on rcc container 1: rcc0, using file_read in /run/media/mmcblk0p1/opencpi/xilinx24_1_aarch64/artifacts/ocpi.core.file_read.rcc.0.xilinx24_1_aarch64.so dated Th5
Instance 1 bias (spec ocpi.core.bias) on hdl container 0: PL:0, using bias_vhdl/a/bias_vhdl in /run/media/mmcblk0p1/opencpi/artifacts/testbias_zcu102_base.bitz dated Thu Mar 6 15:12:52 2025
Instance 2 file_write (spec ocpi.core.file_write) on rcc container 1: rcc0, using file_write in /run/media/mmcblk0p1/opencpi/xilinx24_1_aarch64/artifacts/ocpi.core.file_write.rcc.0.xilinx24_1_aarch64.so date5
Application XML parsed and deployments (containers and artifacts) chosen [0 s 57 ms]
Application established: containers, workers, connections all created [0 s 15 ms]
Dump of all initial property values:
Property 0: file_read.fileName = "test.input" (cached)
Property 1: file_read.messagesInFile = "false" (cached)
Property 2: file_read.opcode = "0" (cached)
Property 3: file_read.messageSize = "16"
Property 4: file_read.granularity = "4" (cached)
Property 5: file_read.repeat = "false"
Property 6: file_read.bytesRead = "0"
Property 7: file_read.messagesWritten = "0"
Property 8: file_read.suppressEOF = "false"
Property 9: file_read.badMessage = "false"
Property 16: bias.biasValue = "16909060" (cached)
Property 20: bias.test64 = "0"
Property 31: file_write.fileName = "test.output" (cached)
Property 32: file_write.messagesInFile = "false" (cached)
Property 33: file_write.bytesWritten = "0"
Property 34: file_write.messagesWritten = "0"
Property 35: file_write.stopOnEOF = "true" (cached)
Property 39: file_write.suppressWrites = "false"
Property 40: file_write.countData = "false"
Property 41: file_write.bytesPerSecond = "0"
Application started/running [0 s 1 ms]
Waiting for application to finish (no time limit)
Application finished [0 s 20 ms]
Dump of all final property values:
Property 0: file_read.fileName = "test.input" (cached)
Property 1: file_read.messagesInFile = "false" (cached)
Property 2: file_read.opcode = "0" (cached)
Property 3: file_read.messageSize = "16"
Property 4: file_read.granularity = "4" (cached)
Property 5: file_read.repeat = "false" (cached)
Property 6: file_read.bytesRead = "4000"
Property 7: file_read.messagesWritten = "250"
Property 8: file_read.suppressEOF = "false" (cached)
Property 9: file_read.badMessage = "false"
Property 16: bias.biasValue = "16909060" (cached)
Property 20: bias.test64 = "0" (cached)
Property 31: file_write.fileName = "test.output" (cached)
Property 32: file_write.messagesInFile = "false" (cached)
Property 33: file_write.bytesWritten = "4000"
Property 34: file_write.messagesWritten = "250"
Property 35: file_write.stopOnEOF = "true" (cached)
Property 39: file_write.suppressWrites = "false" (cached)
Property 40: file_write.countData = "false" (cached)
Property 41: file_write.bytesPerSecond = "316331"
That would mean the device is capable of running OpenCPI on both the CPU and the FPGA.
The next step would be to update your development host to build the versions you need.
Your development host needs to have the zcu102
and xilinx24_1_aarch64
installed.
You will need to install Xilinx 2024.1 Vitis Tools
following the instillation guide.
After your host has build for zcu102
and xilinx24_1_aarch64
you can then use ocpiremote
with the device.