11-26-2019 06:44 PM
According to Zynq UltraScale+ RFSoC RF Data Converter Evaluation Tool (ZCU111) [UG1287], the rftool process running on the ZCU111 is listening on TCP port 8081 for commands from the GUI application. Trying to bypass the GUI application and write commands directly using netcat. Sure enough, nc <ip.address> 8081 connects, but no response comes to any command. Perhaps the rftool code isn't recognizing newlines. Anyone else attempt this? Any tips or suggestions?
Also rftool source code shows some logging, but that doesn't seem to be activated by default. Any suggestions about how to activate those logs?
12-09-2019 01:59 PM
The rftool running on the ARM core of the RFSoC requires two open TCP connections: a data connection on port 8082, followed by a control connection on port 8081. So, you need to open these sockets in this order.
Next, on port 8081, go ahead and issue all the control commands that you want. You can look at the GUI (the LabVIEW executable) to see what commands have been executed.
Now, you can issue all the data commands (read/write) that you want, on port 8082. You can also issue additional control commands to re-configure if needed.
When you're done, you need to issue a "disconnect" command on port 8081
Finally, close the two sockets.
I've attached the MATLAB code that I used to do this. It's a simple class.
You execute as follows:
mysdr = mysdr.open('192.168.1.44'); % This is the IP address of my ZCU111 board
02-04-2020 06:38 AM
>You can look at the GUI (the LabVIEW executable) to see what commands have been executed.
@adityadhananjaydoes the LabVIEW UI show the entire command set available with the rftool? Or is there documentation for external control of the rftool resource?
02-04-2020 06:41 AM
Yes, you can look at the issued commands through the LabVIEW user interface. You can also run tcpdump (or wireshark) to take a look at the packets that are being exchanged between the host computer and the RFSoC. You can cross-reference the commands from the UI and what you capture on wireshark, and will observe that they are the same (obviously). Good luck!
02-04-2020 07:14 AM - edited 02-04-2020 07:19 AM
> You can also run tcpdump (or wireshark) to take a look at the packets that are being exchanged between the host computer and the RFSoC.
I thought about this but wasn't sure if this would be considred reverse engineering of IP they dont want public 🤷♂️ glad to hear the UI makes it accessible!
thanks for the info!
04-30-2020 12:34 AM
Hi @adityadhananjay ,
Thanks for your matlab code .It's very useful.
Do you know how to write data to memory via matlab?
Because the writedatatomemory seems only command without data section.
For example, to send 1024-byte samples to firmware, the following command is used:
writedatatomemory 0 1 1024 0