What is Linux Mode in the ADP3450?

What is Linux Mode on ADP3450?

The Analog Discovery Pro ADP3450 showcases two so-called “Modes” – Standard Mode and Linux Mode. Each has its own function and application, but what makes them unique? The Standard Mode operates much in the way you have come to expect from Digilent’s PC-based test devices that use WaveForms. There’s not much to mention about Standard Mode, except for the fact that you full access to the WaveForms suite of instruments, like the Logic Analyzer, the Spectrum Analyzer, and Oscilloscope (to name a few).

Intro to Linux Mode

Taken from a blog written by Gough Lui – view the full entry HERE.

In the past, if you wanted to emulate what was possible in Linux Mode, you would probably take a USB MSO and connect a Raspberry Pi to it such that you can control the USB MSO from the Raspberry Pi. Then you would write your programs or scripts which could execute on the Raspberry Pi, thus allowing you to operate independently of a controlling PC. Such an arrangement can be quite economical as it eliminates the need for an expensive host and reduces power consumption, allowing for new in-field applications.

In the case of the ADP3450, using a Raspberry Pi is not necessary as it already has the necessary parts inside! It uses the Xilinx Zynq SoC’s ARM cores and by reconfiguring the boot parameters, (presumably) causes the unit to use the eMMC as the main block storage and the DDR3L DRAM buffer as system RAM instead. As a result, the ADP3450 would boot Linux by itself and can run your own programs written using the WaveForms SDK, but better still, doesn’t stop you using it via USB, Ethernet or Wi-Fi (via supported adapters) with the WaveForms software interactively if you wish. If you want to use a Raspberry Pi as it has support for driving a display, this is still a possibility, making this a very flexible option.

However, this option does come with a few minor catches. With great power comes great responsibility as the ADP3450 is now a Linux host on the network, ensuring security is important to avoid compromise or use in network pivoting attacks. Another catch is that performance of the scope in record mode is limited to ~1MS/s, however shift, screen and repeated modes are not limited. One upside is that Digilent offers some authentication for network connections to avoid others on the network potentially taking over your instrument.

How Do I Set Up Linux Mode?

Setting up Linux Mode is as simple as following this setup guide. However, if your device is already installed with the latest Linux image, it’s as simple as switching the boot mode to Linux through WaveForms and then connecting via serial terminal over USB.

To ensure security, it is important to update the software. Because of some changes in repository values, you may find it necessary to use the –allow-releaseinfo-change option in the apt-get update command to ensure the latest package lists are used. Then, it can be followed-up with apt-get upgrade.

SSH access is enabled by default, although it can take a while to come-up via Ethernet. If you wish to use Wi-Fi, then connecting first via USB-Serial console would be necessary to configure the network parameters. By default, the network connections are auto-configured through DHCP, so it may be worthwhile setting up an address binding in your DHCP server so it is easier to find the ADP3450 on your network.

From there, it’s similar to having a Raspberry Pi SBC at your disposal, although there are some differences as well. The use of eMMC as the boot device deserves some care as it is not replaceable, thus avoiding excessive writes is highly advisable. If the eMMC fails, Standard Mode should still be available. It’s encouraged for users to use external USB storage for their scripts and data logging. External devices are not auto-mounted by default, so you must create a mount point and use a mount command to use the device – e.g. sudo mkdir /media/usb followed by sudo mount /dev/sda1 /media/usb. Likewise, you should sync and sudo umount /media/usb prior to unplugging the device. It should be noted that the pre-built kernel does not have support for FUSE modules, thus it seems only Linux-type filesystems (ext2/3/4) and FAT-type filesystems (FAT16/32) are supported.


Be the 1st to vote.

Leave a Reply

Your email address will not be published. Required fields are marked *