ZCU111 RFSOC Petalinux 2018.3 BSP rftool readDataFromMemory_ddr could not read more data than ~7Mb
After updating from 2018.2 to 2018.3, the demo app from the evaluation package could no longer read more data than ~8Mb. But in theory, each channel has 128Mb of DDR memory.
We looked into source code for rftool and found a confusing line.
at around line 1380, the code says:
ret = read((info.fd_adc[adc]), &adc_chaninfo, (((adc_chaninfo.channel_size)) * sizeof(signed char)));
where adc_chaninfo is a struct of type rfsoc_channel_info (~68 bytes), but adc_chaninfo.channel_size is the size that I requested it to read, which can be tens of megabytes. After experimenting by binary search the channel_size, it seems that the program hangs when I read about 7Mb of data. This indicates that the read call may be just writing into the stack space of the data thread.