Setting up development environment for DSO QUAD

I have some little background in MCU programming, but I’m not a great expert at it. I can build the firmware from sources using GCC. But if I decide to change it, what are the debugging techniques?


  1. In the best case, I would expect to have a visual IDE with debugger. But that requires physical debugging interface, such as SWD/JTAG. How can I get started with this? So far I have some experience with STM evaluation boards, they have done the hardware job.


  2. I may need dozens of Update/run/debug cyles. That will tear down the flash memory. Can I boot from UART? (Well, I’m sure the bootloader does not support this). Is there a bootloader source available? I have only 1.60 version, but my device is at 1.64.


  3. Maybe I can tweak the bootloader and run my custom binaries from RAM disk. But I need to be sure that I do not interfere with the main software. I need to read more about the “Slots” architecture, what lies behind it. As I see, most popular custom firmwares do work with slots. PAWN interpreter probably not enough for my plans - as I want to implement a usb protocol for remote control via bluetooth dongle.



    Maybe I won’t need a usb protocol. I can start with existent mass storage protocol and just use an android smartphone via usb OTG. I saw that gabonator is adopting this approach.



    I know the USB protocol is coded inside BIOS, so if I modify BIOS, that will change its layout in memory and therefore all other firmwares will become uncompatible with my BIOS version.


  4. Maybe I can take custom firmware code to my STM evaluation board. There I can have my own bootloader and implement stubs for interface peripheral calls, this will allow me to debug the firmware up to some extent.



    I’m just looking for some guide, but I doubt it exists. Can anyone share the experience?



    Thanks

Sorry I can’t offer much help but I would love to see your progress. I think you will have to flash every time and then debug.



Here is something I found on DSO Nano



http://wiki.seeedstudio.com/DSO_Nano-OpenOCD_gdb/



http://wiki.seeedstudio.com/DSO_Nano-Qemu_gdb/

Thanks.



I found most recent resources for 2.81 hardware from <LINK_TEXT text=“http://www.minidso.com/forum.php?mod=vi … 666&page=1”>http://www.minidso.com/forum.php?mod=viewthread&tid=666&page=1</LINK_TEXT>

I have not found FPGA source code, but I’m not going to need this. The latest wildcat 6.5 firmware is built on the same set of sources:


Looks like you are making good progress!



I also have DS203 hw 2.82 with DFU v3.46C running Wildcat 6.5 from https://github.com/MotoMaxis/DS203-DSOQuad



I have never seen any source code of any DFU, its private in my opinion. But there is DFU v3.45C hex can be found inside dso_hw281_dfu_pack.rar at <LINK_TEXT text=“http://www.minidso.com/forum.php?mod=vi … a=page%3D1”>http://www.minidso.com/forum.php?mod=viewthread&tid=905&extra=page%3D1</LINK_TEXT> And it looks like they provided a complete eeprom with D3.46C S1.64 A1.13 <LINK_TEXT text=“http://www.minidso.com/forum.php?mod=vi … 202&page=1”>http://www.minidso.com/forum.php?mod=viewthread&tid=1202&page=1</LINK_TEXT> which I uploaded here https://www72.zippyshare.com/v/CKdgLW8w/file.html



P.S. I have been wishing to update Wildcat 6.5 so that when in HOLD mode, changing v/div and t/div updates the waveform on the screen so I can zoom in/out.