Patch your Firmware

From Rigol Homebrew Wiki
Revision as of 05:40, 24 December 2011 by Krater (talk | contribs)

Jump to: navigation, search

Before you can start to develop your own software, you need a possibility to upload and start it on your Rigol device. Because the original firmware doesn't offers this possibility, we must patch some things to open the door to the memory.

For this job you need

  • The completly installed Blackfin and Rigol toolchain (follow the instructions here)
  • A installed md5sum tool
  • A original Rigol firmware image (DS1000EUpdate.RGL) version 02.05.02.00 with a md5sum of 9c28690d8d5a5690b7340fda943f5549.


There is a patch script in the examples/rwpatch/ subdirectory of the toolchain. Copy your firmware image to <toolchain>/examples/rwpatch/DS1000EUpdate.RGL (where <toolchain> is the path where you installed the rigol toolchain), switch to this directory and do a

make patch

When all is working correct you get the response:

...

The resulting firmware should have the md5sum 3ffccd4edcc70710e010124edec9ee1c. Now you can copy the new firmware image to a usb stick and flash it to your oscilloscope.

ATTENTION !!!

This will possibly void your warranty or damage your oscilloscope. Make sure your device will work with version 02.05.02.00 of the original firmware BEFORE you flash the image. We are not responsable for any damage happens while using this software.


Enjoy the new possibilities

After the patch the :FFT command of your serial console will no longer work as usual, but you have some new functions:

Read bytes from any memory address
:FFT:xxxxxxxxRcc<return>

xxxxxxxx: 8 digit hex address
cc:       2 digit count of bytes to read
Write a byte to memory
:FFT:xxxxxxxWvv<return>

xxxxxxxx: 8 digit hex address
vv:       2 digit value for the byte
Call a subroutine
:FFT:xxxxxxxxCdd<return>

xxxxxxxx: 8 digit hex address
dd:       2 digit dummy


ATTENTION !!!

Only use this commands if you really know what you do ! It could delete your calibration infos or firmware. We are not responsible for things you do.



Next step:Start_Development