I have designed a custom FPGA block design in Vivado and it communicates with a C server running on the Red Pitaya SDR and it is working pretty well, however I have identified two areas of major power usage on the PS side. Firstly I am polling the a finish state in the status register like so
Code: Select all
if ((*sts_flags & 0b00000001) == 0b00000001){
Code: Select all
go = recv(sock_client, cmd_recv, RECV_PCKT_SIZE, MSG_DONTWAIT);
Nevertheless, my main question is how can I setup hardware interrupts from the PL to PS, in total I will have 4 interrupt signals to map. From reading this: https://redpitaya.readthedocs.io/en/lat ... o/uio.html I am guessing I will have to make some modifications to the device tree and Kernel, having a browse through the vivado interface I see this section in PS configuration (attached), I guess I will also have to modify my design to route through the GPIO rather than the sts register. I have also read a lot the posts regarding interrupts on this forum. So I am wondering what exactly do I need to do to setup hardware interrupts before I embark on quite a big adventure to attempt this and secondly, if anyone has actually done it from the PL to PS successfully?
Best Regards, Ren