FAQ: How to upgrade the firmware

Moderators: violet, jeremy882, crail.lyu969

Posts: 271
Joined: Mon Oct 18, 2010 1:18 am

FAQ: How to upgrade the firmware

Post by tormod » Tue Jan 22, 2013 5:19 am

Note that the latest DSO Nano 2 devices on the market have the same firmware as the first devices that Seeed called "DSO Nano v3". Newer v3 devices have another LCD model and yet another firmware! Please see http://www.seeedstudio.com/wiki/DSO_Nano for an explanation of the different models. In the below instructions, what counts is the displayed Device Firmware Upgrade version, not whether you have a metal or plastic case.

First you must get the Nano into firmware upgrade mode. In this mode the oscilloscope is not running. Power on the Nano while you keep the Down button (the "-" button on v1) pressed. If the oscilloscope starts up, you have pressed the wrong button, try again.

It should now display "DS0201 Device Firmware Upgrade Ver 2.0" on v1 and v2. On early v3 models it displays "Ver 3.22" instead. On the latest v3 models (with the 9341 LCD display) it displays 3.26.

If you have v1 or v2 (firmware upgrade Ver 2.0) you must use dfu-util or the "DfuSe Demo" (Windows only) to upgrade the firmware, using .dfu files. On Windows a special driver must be installed for this device upgrade mode. Follow the instructions here: http://www.seeedstudio.com/wiki/DSO_Nano (download the User Manual, "DSO Nano v2 Manual v0.91B")

If you have v3 (firmware upgrade Ver 3.22 or newer) you cannot use dfu-util or "DfuSe Demo". When plugging the Nano to a computer via USB a virtual disk drive will appear, and you simply copy a .hex file to this drive. Note that this is a virtual disk drive, you do not need to have a SD card inside, and no drivers are needed. If you have several files, copy one at a time, wait for the first .rdy file to appear before copying a second .hex file. Please follow the instructions here: http://www.seeedstudio.com/wiki/DSO_Nano_v3 (download the User Manual, "DS201 User’s Manual").

Note that the v3 models with the firmware upgrade 3.26 (or newer) can only use a version of the BenF software that has been modified to support the ILI9341 display in these models! There is an unofficial, binary-patched version in the forum: http://www.seeedstudio.com/forum/viewto ... 670#p18670

The v3 models can also use the open-source firmware, which is based on BenF version 3.13.

Please make sure which version of the firmware upgrade mode you have before asking on the forum!

Longer explanation on the firmware

The firmware is stored in flash memory in the Nano (inside its STM32 microcontroller). One part of it is the boot loader, which always runs when you power on the Nano. If the Down button is not pressed it jumps to the oscilloscope code within a millisecond. If the Down button is pressed, the boot loader runs the upgrade code. This turns the Nano into a special DFU device (v1 and v2) or into a virtual disk drive (v3) which is used for receiving the firmware from the computer.

When you do a "firmware upgrade" it is the oscilloscope code that you upgrade. It is often split in two parts (APP and LIB) which must be compatible, this means you usually upgrade both at the same time (well, one just after the other).

The boot loader part (identified by the "firmware upgrade" mode screen) is never updated. It can not update itself easily, so it will in practice stay forever the same as shipped from the factory. Unless someone comes up with a special boot loader upgrade application - this is technically possible but risky - there is no easy way to change the boot loader. The hard way consists of opening the Nano and soldering wires to be able to connect it to a 3.3V UART and use special software to rewrite the flash via the built-in serial boot loader of the STM32.