The firmware on the device can be upgraded using the smu executable or directly from Pixelpulse.
The smu
executable (part of the libsmu library) provides some basic functionalities . In the following image you can see these functionalities and their corresponding call arguments:
This specifies any shell prompt running on the target
C:\WINDOWS\system32> smu smu: utility for managing M1K devices -h, --help print this help message and exit --version show libsmu version -l, --list-devices list supported devices currently attached to the system -p, --hotplug-devices simple session device hotplug testing -s, --stream-samples stream samples to stdout from a single attached device -d, --display-calibration display calibration data from all attached devices -r, --reset-calibration reset calibration data to the defaults on all attached devices -w, --write-calibration <cal file> write calibration data to a single attached device -f, --flash <firmware image> flash firmware image to a single attached device
As you can see in the above, the smu
application provides an option for flashing a firmware to an ADALM1000 board (the -f
or --flash
option). Before running this command, you must first download the firmware image from m1k-fw project. We recommend to always use the latest firmware release in order to be able to access all supported features. You should download the m1000.bin file.
After downloading the firmware binary, run the following command in your OS specific preferred terminal:
C:\WINDOWS\system32> smu -f /path/to/m1000.bin
After installing ''libsmu, the smu executable's path is automatically added in the system path. If you build libsmu manually, you can find the smu executable in the build folder, under /src/cli.
Pixelpulse is capable of detecting whether the connected devices have the latest firmware and provides an easy way to upgrade the firmware. It automatically searches on the internet for the latest firmware, downloads it and checks if the connected devices need to be upgraded. The firmware status of the connected devices can be seen by opening the Pixelpulse Device Manager.
In case Pixelpulse does not have the Device Manager option please update Pixelpulse. This option is available starting from version 0.86.
The Device Manager displays a list of all connected devices and the firmware status of each device.
In case the PC is not connected to the internet Pixelpulse cannot check the version of the latest firmware nor download it and will display an error message. In this case the firmware update is not possible on any device.
Each device that needs a firmware update has an Update Firmware button next to its name. A device can be in one of these 3 states:
The devices that are in programming mode need to be programmed first. If multiple devices are in programming mode Pixelpulse will display just one of them in the devices list. Once this device is programmed and reconnected to the PC another device that is in programming mode will appear in the list.
After a firmware update the device status will change showing the firmware update status. The device will become functional only after it is reconnected to the PC.
The list of connected devices is automatically updated when a device which is not in programming mode is disconnected/connected to the PC. To force a refresh of the devices list press the Refresh Devices List button.
When installing Pixelpulse2, the drivers for ADALM1000 should be correctly installed. In order to be able to update the firmware using Pixelpulse2, you can check the installed drivers using Windows Device Manager. Ideally, ADALM1000 should appear under Universal Serial Bus devices as:
If that is the case, the firmware upgrade should work properly.
Otherwise, the board will appear in the Ports (COM &LPT) section.
In this case, you need to make sure you installed the latest Pixelpulse2 release and follow the next steps:
After performing these steps, Pixelpulse2 should be able to detect your device and upgrade the firmware.