DSO Quad Bootloader corrupted

Hi all,

working on some customization of the latest DSO Quad “SYS” and “APP” source codes something went wrong after the uploading of a HEX file to the DFU disk, because now my DFU Bootloader has been corrupted and I’m unable to use my great DSO Quad since it shows a corrupted image (see the image below) and it isn’t recognized anymore by the PC as a DFU disk (used for Firmware upgrade) !!! :cry:


But looking at the schematic I have noted that there is the possibility to change the STM32 Boot mode !!!

In this way you can choose to make the STM32F103 boots from the USART1 instead of, as per default from the embedded Flash :wink:

Then you can use the ISP connector pins (CN7 of the schematic) to read (make also a backup) or write the embedded Flash memory through a free tool made by STMicrolectronics called “Flash Loader Demonstrator”.
Even if through this you have the FULL access to the entire Flash memory, unfortunately the SeeedStudio DFU bootloader image file is NOT available so the bootloader recovery is IMPOSSIBLE !!! :open_mouth:

So can someone of the SeeedStudio kindly post ONLY the DFU file image (not the source code) so to allow me and potentially other people that can break their bootloader to recover it ?

Otherwise could PLEASE someone connect a RS232 transceiver (TTL levels) to CN7 connector of a working DSO QUAD (short-circuit the PIN1 and PIN2 so to select the USART1 boot mode, then connect PIN4=RX, PIN5=TX, PIN6=GND) and using the Flash Loader Demonstrator tool (downloadable from the following link : st.com/internet/com/SOFTWARE … um0462.zip ) make a dump of the embedded Flash content from 0x08000000 to 0x08004000 and post it on the forum ?

Many thanks in advance to everyone!

I did a dump of the whole flash memory using a custom app (no hardware mod necessary). The binary file from 0x8000000 to 0x8040000 is attached.

Good luck!

dso_quad_bootloader_flash.zip (93.1 KB)

Hi jpa,

many thanks for your dump, you saved me ! I have downloaded it to my DSO Quad but now each time I power it on the Bootloader shows the message “SYS License error” and then asks for a license number ! :open_mouth:

How can I solve this issue now ?

Is possible the nobody of the Seeedstudio technical support can reply to my post ??!?

Did you download the whole blob to your DSO or just the 16k boot loader?

I overwrote my corrupted bootloader with the new one (v3.10), then I updated both the SYS and APP with versions v1.50 and v2.50 respectively.
Now each time I power on the device it shows the license error message asking for the license number that I can skip pressing one of the buttons,
but it’s very very annoying.

You can try this one :smiley:

dso_quad_bootloader_flash_modified.zip (93.2 KB)


Which custom app did you use. Can you post it?

Just a trivial mod of my frequency response app: http://www.seeedstudio.com/forum/viewtopic.php?f=10&t=2485

I just replaced main() with these:

    char chksum = 0;
    for (int i = 0; i < 256 * 1024; i++)
      _fputc(*(char*)(0x8000000 + i));
      chksum ^= *(char*)(0x8000000 + i);
    debugf("Complete: %d", (int)chksum);
    while (1);

Very cool, Thank You.

At the end I succeeded recovering my DSO Quad !

You’ll find attached to this post the stock DSO Quad Bootloader v3.10; it has to be downloaded at the embedded Flash base address that’s 0x80000000.

Once restored the stock bootloader you will be asked for a License number that is calculated starting from your Hardware Serial number. In order to know it you can use the SYS FW 2.50 I modified to show you at startup the License number further to the Serial number.

So take care to note it down before doing any FW update that could potentially corrupt the original bootloader. :smiling_imp:

When you have taken note of your License number you can finally feel free to do any sort of experiment with your DSO Quad since you will be able to restore it completely at ANY time ! :mrgreen:

Hope it helps.
SYS250a.zip (26.1 KB)
BootLoader v3.10.zip (8.79 KB)

I have loaded your modified file Sys 250A.hex but do not see my license number upon restarting the DSO Quad. The start screen says that I have Sys version 1.50 and App version 2.50 .

Should I be seeing the license number on the bootup screen? If so, is there a possibility that someone replaced your modified Sys 2.50A with the original file?

Any help appreciated.


I think that it has been replaced for some reason.
In any case you’ll find attached a new one that should work fine.
SYS.zip (26.1 KB)

This file worked perfectly.

Many thanks!


I flash my quad with a new firmware - Sys_151 App_252 FPGA261, after it i want to know what is my LicenseNumber… and flash it with embedded’s sys file… after it usb logical drive won’t appeared. :imp:
Can you suggest me a solution?

Hi guys,

something went wrong when I wanted to change logo picture. It ended up with corrupted bootloader :frowning:

I’d like to make clear instructions how to make it work again (so it would help also to other users).
I have already ordered USB to RS232 TTL cable from ebay

Before I receive my USB cable, I’d like to be 100% sure what I need to do, step by step.

  1. Dismantle DSO
  2. Find CN7 connector
  3. Short-circuit the PIN1 and PIN2 (which will put it into USART1 boot mode)
  4. Connect PIN4=RX, PIN5=TX, PIN6=GND
  5. Do I need to turn it ON at this step please?
  6. Software to use - Is this correct software to use? (link suggested at the top of this thread does not work anymore)
  7. After I install that software, do I need to select anything special, like: Baud Rate, Parity, Echo, Timeout, …?
  8. “Upload” “BootLoader v3.10.bin” to flash through that software
  9. Is it now fixed? and can I at this step boot into boot mode and upload SYS file normally through USB mass storage?
  10. I’d prefer to upload modified SYS to check License number first and after that upload everything again normally through USB files for FPGA, SYS and APP, am I right? I mean will it work?

Thank you for your time and your help, I really appreciate it.

Hurray! It’s working again! :slight_smile:

Big thank you goes to tormod for his help.

Here are updated steps:

  1. Dismantle DSO
  2. Find CN7 connector
  3. Short-circuit the PIN1 and PIN2
  4. Connect PIN4=RX, PIN5=TX, PIN6=GND (try to swap RX and TX, depends on USB cable, I had to do that with mine)
  5. Connect the battery and turn it on
  6. Download and install Flash Loader Demo
  7. Run Flash Loader Demo, select correct COM port, press Next, then I selected ‘512 mem version’ (can’t remember exact words) and also 0x80000000 from pages list
  8. Select your DFU file and download it to your device
  9. All done, now you can update everything else normally through ‘usb’ upgrade mode, FPGA, SYS, APP

Only problem I have now is that I bought it with:

Hardware Ver 2.81
DS203 Mini DSO SYS Ver 1.62
DS203 Mini DSO APP (PLUS A1) Ver 1.13

…but there’s not DFU file yet for my HW version at wiki pages. Wiki says that for “Hardware V2.81 - New FPGA chip is used, so FPGA configuration file has changed. SYS and APP are still compatible with HW2.7x version”, so I believe everything will work fine, except it says HW 2.72 on initial screen. After I downloaded DFU for 2.72, I upgraded FPGS, SYS and also APP to versions I bought it with.

BTW, trick with getting license key didn’t work. I tried DFU and SYS from this thread, but it didn’t work. Anyway, to confirm license key on the load screen is no problem for me.

Thanks again. Hope it helps also to someone else. If anyone gets bored, get DFU for HW2.81 please :slight_smile:

Oh dear, input channels do not work :frowning:

It must be because of that DFU version. Any ideas?

For those who want to save their current state including DFU / License data etc. it is nice to have an archived dump file for emergency use with the serial port flash technique. This is a bit easier than starting with a stock DFU.

Creating a utility for this was mentioned earlier in this thread but I don’t recall seeing a hex for this.

Attached source + hex (FL_DUMP4) is for this. It loads by default into slot 4 and when run just saves the 256K of the processor flash memory as a flash.bin file. It just says saving followed by completed a few seconds later. You won’t see the completed flash.bin file until you reconnect the USB disk.

The DFU is actually the first 16K bytes of this and can be easily extracted using a binary editor.
FlDump.zip (29.1 KB)

I am a little surprised by this as the DFU is more about loading new software and launching what is loaded. It doesn’t have a lot to do with the actual run-time operation. If the input channels are not working then I’d be double checking I had the correct FPGA, SYS and APP files. Now if the DFU is not allowing you to reload those properly then that’s a different issue.

Hi bobtidey, something has changed, that’s why it does not work :frowning: Here’s answer on my PM:

So, I’m waiting… Thank you anyway bobtidey.