cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
516 Views
Registered: ‎01-07-2019

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.

In zcu111-eval/apu/rfsoc_petalinux_bsp/project-spec/meta-user/recipes-apps/rftool/files/data_interface.c

at around line 1380, the code says:

 ret = read((info.fd_adc[adc]), &adc_chaninfo, (((adc_chaninfo.channel_size[0])) * sizeof(signed char)));

where adc_chaninfo is a struct of type rfsoc_channel_info (~68 bytes), but adc_chaninfo.channel_size[0] 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.

Is this a mistake in the demo source code?

Thanks in advance for any suggestions!

0 Kudos