(PicoZed SDR + breakout carrier + kernel v4.6.0)
Every time I boot up the platform, when kernel is loading and until I execute my program, some signal appears at the TX output:
Why? How to solve it? I suspect it could be the oscilloscope application auto-starting up, maybe? (PicoZed doesnt allow to connect a monitor nor I cant see any oscilloscope related process using htop), if so.. where's the script that autoexecutes it?
And also: when I want to finish my custom program with CTRL+C, I've got a handler that destroys the iio_context, iio_buffers, etc. but when they are destroyed, the radio starts transmitting some undesired signal. I solved this configuring the TX attenuation ("out_voltage0_hardwaregain") to its maximum before exiting the program, but it does not look like the right way to do it. Any suggestion?Regards, Leroy.
The HDL reference design contains a DDS that is active by default that will generate a tone. The DDS can be enabled/disabled by writing the out_altvoltage0_1A_raw and similar attributes.
Unfortunately the DDS is enabled by default in the driver. If you want to disable it you need to patch the driver and replace cf_axi_dds_datasel(st, -1, DATA_SEL_DDS); with cf_axi_dds_datasel(st, -1, DATA_SEL_ZERO); in the driver probe function.
I have built many time my uImage and Devicetree followig below steps:
Make sure all steps must perform in same terminal, if you will change the terminal that may cause error.
Download the available linux default folder from
$ git clone https://github.com/analogdevicesinc/linux.git
$ cd linux
$ git checkout 2018_R2
Change the file according to your requirement for examples:
I have changed:
cf_axi_dds_datasel(st, -1, DATA_SEL_DDS); with cf_axi_dds_datasel(st, -1, DATA_SEL_DMA);
Following the link:
I have changed the default frequency and LO:
Download the hopper.patch and keep this file outside to the linux file
$ cp ../hopper.patch .
$ make zynq_xcomm_adv7511_defconfig
$ make -j12 UIMAGE_LOADADDR=0x8000 uImage
If you are making for first time then you need to install :
$ sudo apt-get install u-boot-tools
-j12 in my case:
you can check number of processor by:
$ grep -c ^processor /proc/cpuinfo
Build devicetree.dtb file
$ make zynq-adrv9361-z7035-fmc.dtb
The device tree name will be according to your board but you can change it with devicetree.dtb
make according to your board following the link below:
Copy the devicetree.dtb and uImge to you SD Card.
I have built devicetree.dtb and uImge but display never shows. Although I have check it thorugh serial terminal (putty) registers got updated correctly.
When I change only default uImge with my updated uImge then display shows but register did not update.
I thin my steps to build devicetree.dtb is not correct.
I have build simply without changing the files from linux folder. and coped the devicetree.dtb and uImge to SD card but still no display. If I copy Only uImge it shows disply successfully. please help me how I can build devicetree.dtb successfully.?