We have a problem in our system where we run an elf file that reads a file with samples and transmits it (through an ip core).
We checked in spectrum analyzer for the rf output and we see it as expected, although the system is not stabilized:
In some elfs the transmittion is as expected and in some we strange results in the spectrum. However per elf run, the transmittion remains the same (a good one will stay good and a bad one will stay bad), but it seems there is no logic to guess which run it will be.
After a lot of work we have managed to find that the problem occures when we use the function iio_device_create_buffer. The test was as followed: we run the elf (started transmitting) and every few seconds we just destroy the buffer (using iio_buffer_destroy) and recreate it. In this scenario we see that it splits between good and bad outputs.
We have continued by trying to read the location in memory where the buffer is allocated (iio_buffer_first) and it stays constant at 0xb62ac000, (however if I kill the process and wait a few minutes, it will change).
Any idea how we can continue finding the root of the problem?
Thanks a lot.
We should also mention that we have an ad9361 board where the transmittion is always successful for the same (besides using other devices) elf, and this problem occues only in the adrv9002 board.