UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer desaic
Observer
177 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