Unwanted output signal when Linux boots up

Hello everyone,

(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.

Parents Reply Children
  • I have built many time my uImage and Devicetree followig below steps:

    Note:

    Make sure all steps must perform in same terminal, if you will change the terminal that may cause error.

    Step 1:

    Download the available linux default folder from

    $ git clone https://github.com/analogdevicesinc/linux.git

    or

    https://wiki.analog.com/resources/tools-software/linux-build/generic/zynq?s[]=linux&s[]=image

    Step2 :

    $ cd linux

    $ git checkout 2018_R2

    Step3:

    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:

    https://ez.analog.com/linux-device-drivers/linux-software-drivers/f/q-a/87443/unwanted-output-signal-when-linux-boots-up/157566#157566

    I have changed the default frequency and LO:

    Following:
    https://ez.analog.com/linux-device-drivers/linux-software-drivers/f/q-a/117841/how-to-change-default-power-up-value--ad9361

    Step3:

    export ARCH=arm

    export CROSS_COMPILE=arm-linux-gnueabihf-

    source /opt/Xilinx/Vivado/2018.2/settings64.sh

    Step4:

    Download the hopper.patch and keep this file outside to the linux file

    like :

    https://github.com/analogdevicesinc/MathWorks_tools/blob/master/targeting_models/frequency-hopping/hopper.patch

    Step5:

    $ cp ../hopper.patch .

    $ make zynq_xcomm_adv7511_defconfig

    $ make -j12 UIMAGE_LOADADDR=0x8000 uImage

    Note:

    If you are making for first time then you need to install :

    $ sudo apt-get install u-boot-tools

    Note:

    -j12 in my case:

    you can check number of processor by:

    $ grep -c ^processor /proc/cpuinfo

    Step6:

    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:

    https://wiki.analog.com/resources/tools-software/linux-build/generic/zynq?s[]=linux&s[]=image

    Step7:

    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.?