is there any way to set a timeout for vdma readchannel?
just as an overview of what happens:
It’s just hanging if there is no data coming in and in case restarting the whole program always stops at vdma or has very strange output from vdma. so, there is no way of running the program flawlessly unless the board is restarted.
What function calls are you using?
No timeout as far as I’m aware.
There are start() and stop() and reset() functions.
Do you know what is causing your VDMA to hang? E.g. does it have a problem starting, or is this a problem that occurs while it is running?
If you reprogram the bitstream, you need to make sure to stop() the VDMA. This makes sure any PS-PL AXI transactions complete. If you don’t do this and one is in progress it can hang the system. It sounds like this may be happening when you need to restart the board.
It is stuck when there is no data coming in at the beginning. As i am running it as a service there is no way I know of, that can restart the vdma if there is no data coming in. So, basically it stuck there and other codes don’t run anymore.
If i stop and start the service through systemctl.