Post Go back to editing

Problems with using the Pluto as a Standalone Device

Hey,

I've managed to use my ADALM-PLUTO with Python, but I'm trying to get it to work standalone now and having issues.  Trying the shell script method:

https://wiki.analog.com/university/tools/pluto/devs/usb_otg

Bash scripts don't seem to work, the LED blinks according to the wiki, but the file does not get created on the thumb drive.  I have checked:

  • thumb drive formatted as FAT32
  • script was made in Ubuntu using nano/terminal, and I have verified the EOL characters are "\n"
  • filename is "runme0.sh", so there is the .sh at the end as per:  RE: Adalm Pluto Standalone Executable using OTG

I gave up and tried following the C build steps here:

https://wiki.analog.com/university/tools/pluto/devs/embedded_code

However, I had a few problems:

  • The wiki asks for the Linaro i686 package, but I needed to use the x86_64 package, or the terminal won't recognize the files
  • I upgraded to the 7.5.0 version instead of the 7.2.1 version, I don't remember my reasoning for this, but as I'm using firmware version 0.35, it seemed like the right thing to do

When I compile the example, I get an error that it can't find stdint.h, and if I compile with the -ffreestanding flag (a fix I found on Stack Overflow), it fails and can't find string.h, so obviously there is something else wrong here.  I'm using an Ubuntu VM host, so I'm using the command on the wiki page that starts with arm-linux-gnueabihf-gcc.  I also made sure that my sysroot download is 0.35.

I'm completely out of ideas, any pointers or recommendations would be greatly appreciated.

  • The LEDs change in the same pattern that the wiki page lists, the USB drive is FAT32, 4096 block size, 2gb (technically 1.8-ish), and I'm using the example script on the wiki page:

    #!/bin/sh
    
    # the default directory the script runs in is /dev, so change to the drive
    cd /media/sda1/
    
    # create a file
    touch foobar
    
    # change the RX_LO to 2.4GHz
    iio_attr -a -c  ad9361-phy RX_LO frequency 2400000000

    I made the file on Ubuntu from the terminal so the line endings should be fine.

  • I found what I believe to be the problem, I made sure to run chmod on the file to add execute permissions but apparently it didn't take.  Not sure why, and for some reason no Linux machine at my disposal will change the file permissions, even when root (and verbose mode says it was successful).  I'll take this to Stack Overflow or a Linux forum somewhere, it's no longer an Pluto/Analog Devices question.

    Thanks for the help, and so you know, you're a bit of a legend.  Almost everyone I've asked for help on my grad work has pointed me in your direction.