I need to put an architecture in place and I would like some advice from you to have the best architecture that fulfils my needs.
So, I have an SoC module running on a base board. This module is running Linux and an FPGA design that acquires data from an external system. There also is a Linux module that reads data from a device and transfers the data to the memory (at address 0x00100000) by using an AXI DMA.
The goal is to transfer the acquired data (available at 0x00100000) over the Ethernet connection and store them on a development machine, connected over Ethernet. Moreover, this development machine should be able to execute Python scripts (that should be easily modifiable) that use the collected data and possibly modify the memory of the embedded system (for calibration purposes).
Here's the idea I have come to:
[Embedded system] Another DMA (in the HPS) copies the data from 0x00100000 to the Ethernet stack
[Development machine] Acquire data over the Ethernet interface and store them in a file
[Embedded system] Run a Jupyter Notebook server
[Development machine] Connect to the Jupyter server to execute scripts directly on the embedded system
However, multiple questions arise for this draft architecture:
Do I have to "wrap" the data into any network protocol to send them over the Ethernet connection or can I transfer it "as-it" at the Ethernet stack address?
If I use the same network interface for transferring the data AND the Jupyter server, data might overlay?
Do you guys have any other idea? Or at least can answer to my questions?