http://rigol.codenaschen.de/api.php?action=feedcontributions&user=Krater&feedformat=atomRigol Homebrew Wiki - User contributions [en]2024-03-28T17:58:10ZUser contributionsMediaWiki 1.27.7http://rigol.codenaschen.de/index.php?title=JTAG&diff=187JTAG2020-06-11T17:54:57Z<p>Krater: /* Pinout of the JTAG Header */</p>
<hr />
<div>== Pinout of the JTAG Header ==<br />
<br />
--------<br />
3,3V(10k+3v3) <| o o |> /EMU (83)<br />
| |<br />
| o |> GND<br />
| |<br />
GND <| o o |> CPU Pin85 = TMS<br />
| |<br />
GND <| o o |> CPU Pin94 = TCK (10k)<br />
| |<br />
GND <| o o |> /TRST (84) (10k) <br />
| |<br />
GND <| o o |> CPU Pin86 = TDI (10k)<br />
| |<br />
GND <| o o |> CPU Pin87 = TDO 100-<br />
--------</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Schematics&diff=186Schematics2020-06-11T17:50:42Z<p>Krater: /* Programming connector */</p>
<hr />
<div>Here you will find some schematics from the Rigol DS1052/DS1102 Hardware Revision 58. The drawings comes from the user [[user:A Helene|A Helene]].<br />
<br />
<br />
== CH1 Analog Frontend ==<br />
<br />
[[File:DS1052E_HW58_PCB_Schematics_-_Ch1_analog_front-end.jpg|700px]]<br />
<br />
== DAC, Demux, Sample & Hold, Buffers ==<br />
<br />
[[File:DS1052E_HW58_PCB_Schematics_-_DAC,_Demux,_Sample_&_Hold,_Buffers.jpg|700px]]<br />
<br />
== Keypad PCB ==<br />
<br />
[[File:DS1052E HW58 PCB Schematics - Keypad PCB.jpg|700px]]<br />
<br />
LED Shift Register connected to SPORT0 from Blackfin<br />
<br />
== Trigger input front-end ==<br />
<br />
[[File:DS1052E HW58 PCB Schematics - Trigger input front-end.jpg|700px]]<br />
<br />
== Trigger, Comparator ==<br />
<br />
[[File:DS1052E HW58 PCB Schematics - Trigger, Comparator.jpg|700px]]<br />
<br />
== Power Supply Unit ==<br />
<br />
[[File:DS1052E PSU schematic.jpg|700px]]<br />
<br />
== Asynchronous Memory Bus ==<br />
<br />
<pre><br />
--------------------------------------------------------------------------------------<br />
| - Asynchronous Memory bus: |<br />
|------------------------------------------------------------------------------------|<br />
| Blackfin | CPLD | FPGA | LA | FLASH |ISP1362 |<br />
|-----------------------------------------+-------+-------+--------+--------+--------|<br />
|BF.162: ARDY [I] Ready control (N/C) | | | | | |<br />
|BF.154: /AOE [O] Output Enable | | | LH1.07 | FLR.28 | |<br />
|BF.153: /ARE [O] Read Enable | LT.85 | FP.E1 | LH1.10 | | |<br />
|BF.152: /AWE [O] Write Enable | LT.86 | FP.E2 | LH1.09 | | |<br />
|BF.161: /AMS0 [O] Bank Select 0 | LT.82 | | | | |<br />
|BF.160: /AMS1 [O] Bank Select 1 | LT.81 | | | | |<br />
|BF.159: /AMS2 [O] Bank Select 2 | LT.80 | FP.L8 | | | |<br />
|BF.158: /AMS3 [O] Bank Select 3 | LT.79 | | | | |<br />
|BF.051: PF0/SS0 [?] ? (Pulled high) | | | | | |<br />
|BF.050: PF1/SS1 [I] LA Ready (?) | | | LH1.06 | | |<br />
|BF.049: PF2/SS2 [I] USB INT1 output | | | | | USB.30 |<br />
|BF.034: PF10 [I] USB INT2 output | | | | | USB.31 |<br />
|BF.149: AADDR0 [O] USB A0: Command/Data | | | | | USB.61 |<br />
|BF.148: AADDR1 [O] USB A1: Device/Host | | | | | USB.62 |<br />
| N/C [-] USB /RD input | LT.99 | | | | USB.20 |<br />
| N/C [-] USB /CS input | LT.100| | | | USB.21 |<br />
| N/C [-] USB /WR input | LT.01 | | | | USB.22 |<br />
| N/C [-] LA ? | LT.83 | | LH1.08 | | |<br />
| N/C [-] LA ? | | FP.F6 | LH1.24 | | |<br />
| N/C [-] FLASH /WP | LT.91 | | | FLR.14 | |<br />
| N/C [-] FLASH /CE | LT.98 | | | FLR.26 | |<br />
| N/C [-] FLASH /WE | LT.97 | | | FLR.11 | |<br />
| N/C [-] FLASH ADDR19 | LT.96 | | | FLR.09 | |<br />
| N/C [-] FLASH ADDR20 | LT.95 | | | FLR.10 | |<br />
| N/C [-] FLASH ADDR21 | LT.94 | | | FLR.13 | |<br />
--------------------------------------------------------------------------------------<br />
</pre><br />
<br />
BF.x are the pins of BlackFin, [x] is the BlackFin pins direction, LT.x are the pins of the LaTtice CPLD, FP.x the pins of the Altera FPga, LH1.x those of the Logic Analyser Header 1 (the 40 pins one), FLR.x those of the Spansion FLash Ram and USB.x the pins of the Philips ISP1362 USB On-The-Go controller. All the components above share the same 16-bits data bus and the 21-bit Address bus; the BlackFin address bus is 19-bits wide, the address bus width of the CPLD, the FPGA and the Logic Analyser is 8-bits and the USB chip is controlled by the two lower address bus lines.<br />
<br />
<br />
== Programming connector ==<br />
<br />
Looks like the default Blackfin Connector. Tests are outstanding.</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Schematics&diff=182Schematics2013-03-29T11:34:10Z<p>Krater: /* Keypad PCB */</p>
<hr />
<div>Here you will find some schematics from the Rigol DS1052/DS1102 Hardware Revision 58. The drawings comes from the user [[user:A Helene|A Helene]].<br />
<br />
<br />
== CH1 Analog Frontend ==<br />
<br />
[[File:DS1052E_HW58_PCB_Schematics_-_Ch1_analog_front-end.jpg|700px]]<br />
<br />
== DAC, Demux, Sample & Hold, Buffers ==<br />
<br />
[[File:DS1052E_HW58_PCB_Schematics_-_DAC,_Demux,_Sample_&_Hold,_Buffers.jpg|700px]]<br />
<br />
== Keypad PCB ==<br />
<br />
[[File:DS1052E HW58 PCB Schematics - Keypad PCB.jpg|700px]]<br />
<br />
LED Shift Register connected to SPORT0 from Blackfin<br />
<br />
== Trigger input front-end ==<br />
<br />
[[File:DS1052E HW58 PCB Schematics - Trigger input front-end.jpg|700px]]<br />
<br />
== Trigger, Comparator ==<br />
<br />
[[File:DS1052E HW58 PCB Schematics - Trigger, Comparator.jpg|700px]]<br />
<br />
== Power Supply Unit ==<br />
<br />
[[File:DS1052E PSU schematic.jpg|700px]]<br />
<br />
== Asynchronous Memory Bus ==<br />
<br />
<pre><br />
--------------------------------------------------------------------------------------<br />
| - Asynchronous Memory bus: |<br />
|------------------------------------------------------------------------------------|<br />
| Blackfin | CPLD | FPGA | LA | FLASH |ISP1362 |<br />
|-----------------------------------------+-------+-------+--------+--------+--------|<br />
|BF.162: ARDY [I] Ready control (N/C) | | | | | |<br />
|BF.154: /AOE [O] Output Enable | | | LH1.07 | FLR.28 | |<br />
|BF.153: /ARE [O] Read Enable | LT.85 | FP.E1 | LH1.10 | | |<br />
|BF.152: /AWE [O] Write Enable | LT.86 | FP.E2 | LH1.09 | | |<br />
|BF.161: /AMS0 [O] Bank Select 0 | LT.82 | | | | |<br />
|BF.160: /AMS1 [O] Bank Select 1 | LT.81 | | | | |<br />
|BF.159: /AMS2 [O] Bank Select 2 | LT.80 | FP.L8 | | | |<br />
|BF.158: /AMS3 [O] Bank Select 3 | LT.79 | | | | |<br />
|BF.051: PF0/SS0 [?] ? (Pulled high) | | | | | |<br />
|BF.050: PF1/SS1 [I] LA Ready (?) | | | LH1.06 | | |<br />
|BF.049: PF2/SS2 [I] USB INT1 output | | | | | USB.30 |<br />
|BF.034: PF10 [I] USB INT2 output | | | | | USB.31 |<br />
|BF.149: AADDR0 [O] USB A0: Command/Data | | | | | USB.61 |<br />
|BF.148: AADDR1 [O] USB A1: Device/Host | | | | | USB.62 |<br />
| N/C [-] USB /RD input | LT.99 | | | | USB.20 |<br />
| N/C [-] USB /CS input | LT.100| | | | USB.21 |<br />
| N/C [-] USB /WR input | LT.01 | | | | USB.22 |<br />
| N/C [-] LA ? | LT.83 | | LH1.08 | | |<br />
| N/C [-] LA ? | | FP.F6 | LH1.24 | | |<br />
| N/C [-] FLASH /WP | LT.91 | | | FLR.14 | |<br />
| N/C [-] FLASH /CE | LT.98 | | | FLR.26 | |<br />
| N/C [-] FLASH /WE | LT.97 | | | FLR.11 | |<br />
| N/C [-] FLASH ADDR19 | LT.96 | | | FLR.09 | |<br />
| N/C [-] FLASH ADDR20 | LT.95 | | | FLR.10 | |<br />
| N/C [-] FLASH ADDR21 | LT.94 | | | FLR.13 | |<br />
--------------------------------------------------------------------------------------<br />
</pre><br />
<br />
BF.x are the pins of BlackFin, [x] is the BlackFin pins direction, LT.x are the pins of the LaTtice CPLD, FP.x the pins of the Altera FPga, LH1.x those of the Logic Analyser Header 1 (the 40 pins one), FLR.x those of the Spansion FLash Ram and USB.x the pins of the Philips ISP1362 USB On-The-Go controller. All the components above share the same 16-bits data bus and the 21-bit Address bus; the BlackFin address bus is 19-bits wide, the address bus width of the CPLD, the FPGA and the Logic Analyser is 8-bits and the USB chip is controlled by the two lower address bus lines.<br />
<br />
<br />
== Programming connector ==<br />
<br />
Info about the programming connector next to the usb port is required. Send any info to matt@yarrd.co.uk<br />
<br />
- Matt</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Videos&diff=181Videos2013-01-20T05:07:10Z<p>Krater: </p>
<hr />
<div>{{#ev:youtube|aXvhq6YqQK0|400|Very first Homebrew}}<br />
{{#ev:youtube|vepLEhrALzo|400|Pong on Rigol DSO}}</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Videos&diff=180Videos2013-01-20T05:06:54Z<p>Krater: </p>
<hr />
<div>{{#ev:youtube|aXvhq6YqQK0|400|left|Very first Homebrew}}<br />
{{#ev:youtube|vepLEhrALzo|400|right|Pong on Rigol DSO}}</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Videos&diff=179Videos2013-01-20T05:06:30Z<p>Krater: </p>
<hr />
<div>{{#ev:youtube|aXvhq6YqQK0|400|left|Very first Homebrew}}<br />
{{#ev:youtube|vepLEhrALzo|400|rigth|Pong on Rigol DSO}}</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Videos&diff=178Videos2013-01-20T05:05:26Z<p>Krater: </p>
<hr />
<div>{{#ev:youtube|aXvhq6YqQK0|400|float|Very first Homebrew}}<br />
{{#ev:youtube|vepLEhrALzo|400|float|Pong on Rigol DSO}}</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Videos&diff=177Videos2013-01-20T05:03:54Z<p>Krater: </p>
<hr />
<div>{{#ev:youtube|aXvhq6YqQK0|400|left|Very first Homebrew}}<br />
{{#ev:youtube|vepLEhrALzo|400|left|Pong on Rigol DSO}}</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Videos&diff=176Videos2013-01-20T05:02:09Z<p>Krater: </p>
<hr />
<div>{{#ev:youtube|dMH0bHeiRNg|100|right|This is an embedded video!}}</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Videos&diff=175Videos2013-01-20T05:00:52Z<p>Krater: </p>
<hr />
<div>[http://www.youtube.com/watch?v=vepLEhrALzo link title]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Videos&diff=174Videos2013-01-20T05:00:27Z<p>Krater: Created page with "File:http://www.youtube.com/watch?v=vepLEhrALzo"</p>
<hr />
<div>[[File:http://www.youtube.com/watch?v=vepLEhrALzo]]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Main_Page&diff=173Main Page2013-01-20T04:59:49Z<p>Krater: </p>
<hr />
<div><!-- Added a split column information box- computid --><br />
{{:Main Page/Welcome}}<br />
<br />
<br />
<br />
{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Toolchain}}<br />
====How it looks====<br />
* [[Videos]]<br />
====Getting started====<br />
* [[Build the Toolchain]]<br />
* [[Patch your Firmware]]<br />
* [[Start Development]]<br />
<br />
{{col-2}}<br />
{{HeadingB|Reverse Engineering}}<br />
====General Information====<br />
*[[General Information/Software|Software]]<br />
*[[General Information/Hardware|Hardware]]<br />
<br />
====Software====<br />
* [[Mapfile]]<br />
* [[Flirt Signatures]]<br />
* [[Firmware Upgrade]]<br />
<br />
====Hardware====<br />
* [[JTAG]]<br />
* [[Schematics]]<br />
* [[Hardware/Pictures]]<br />
* [[Hardware/References]]<br />
<br />
{{col-end}}<br />
<br />
{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Applications & Guides}}<br />
<br />
====Applications====<br />
====Tutorials====<br />
====Ideas====<br />
* [[Waterfall Plot for FFT]]<br />
* [[Protocol Analyzer]]<br />
* [[Software Defined Radio]]<br />
* [[u-boot]]<br />
* [[linux]]<br />
<br />
<br />
{{col-2}}<br />
{{HeadingB|Developers & Writers}}<br />
<br />
* [[User:krater|krater (Andreas Schuler)]]<br />
* [[user:A Helene|A Helene]]<br />
* [[user:matt|Matt (Matthew Ellis)]]<br />
<br />
<br />
{{col-end}}<br />
<br />
{| border="1" class="wikitable" style="background-color:orange; width:100%;"<br />
|-<br />
|colspan="4" style="background-color:orange; text-align:center;"| [[Disclaimer]]<br />
|}<br />
<br />
__NOTOC____NOEDITSECTION__</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Firmware_Upgrade&diff=166Firmware Upgrade2012-04-01T21:37:14Z<p>Krater: </p>
<hr />
<div>== Blocks in file ==<br />
This is for 2.5.1.0 of DS1000E.<br />
<br />
* It seems each "module" is separate in the firmware upgrade file, with one ZEROFILL after each code one (if BSS data is needed.)<br />
* The only INIT block contains the same bytes as the one preceding it.<br />
** It initializes settings for SDRAM.<br />
*** EBIU_SDRRC = 0x0FFF<br />
*** EBIU_SDBCTL = 0x11 (EBE | EBSZ_16MB | EBCAW_9BITS)<br />
*** EBIU_SDGCTL = 0x0091998D<br />
*** EBIU_AMGCTL = 4 (AMBEN_0_1)<br />
* Things up to 0x0100 0000 are in SDRAM.<br />
* 0xFF80 6000 &ndash; 0xFF80 8000 are in Data bank A SRAM<br />
* 0xFFA0 8000 and up is Instruction SRAM<br />
<br />
{| border="1" style="text-align: right; font-family: monospace"<br />
!File!!Mem!!Size!!Flags<br />
|-<br />
|0x1f||0xff800060||0x4||IGNORE<br />
|-<br />
|0x2d||0xffa08000||0x98||0x0<br />
|-<br />
|0xcf||0xffa08000||0x2||INIT, contains the same data as 0x2d.<br />
|-<br />
|0xdb||0xff800060||0x4||IGNORE<br />
|-<br />
|0xe9||0x4||0xfffe||0x0<br />
|-<br />
|...<br />
|-<br />
|0xf0161||0xeffe6||0x2b2||0x0<br />
|-<br />
|0xf041d||0x19e000||0x192||0x0<br />
|-<br />
|0xf05b9||0x608800||0xfffe||0x0<br />
|-<br />
|0x1005c1||0x6187fe||0xe920||0x0<br />
|-<br />
|0x10eeeb||0x680000||0xfffe||0x0<br />
|-<br />
|0x11eef3||0x68fffe||0x4cae||0x0<br />
|-<br />
|0x123bab||0x6c0000||0x4||0x0<br />
|-<br />
|0x123bb9||0x6c0008||0xd6||0x0<br />
|-<br />
|0x123c99||0x6c00de||0x10||ZEROFILL<br />
|-<br />
|...<br />
|-<br />
|0x143175||0xff806000||0xf34||0x1<br />
|-<br />
|0x14317f||0xff806f34||0x2||0x0<br />
|-<br />
|0x14318b||0xff806f36||0x402||0x1<br />
|-<br />
|0x143195||0xff807338||0x2||0x0<br />
|-<br />
|0x1431a1||0xff80733a||0x3e4||0x1<br />
|-<br />
|0x1431ab||0xff80771e||0x2||0x0<br />
|-<br />
|0x1431b7||0xff807720||0x336||0x1<br />
|-<br />
|0x1431c1||0xff807a56||0x2||0x0<br />
|-<br />
|0x1431cd||0xffa08000||0x156||0x0<br />
|-<br />
|0x14332d||0xffa08158||0x6954||FINAL<br />
|}<br />
<br />
<br />
== Known Headers and Structure ==<br />
<br />
<br />
|---------------------------------------------------------------------------|<br />
|HEX Address: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14|<br />
|---------------------------------------------------------------------------|<br />
| Fields: |<------ Std. header -------->|<-FW rev.->|<-?->|<- CRC32 ->|??|<br />
|---------------------------------------------------------------------------|<br />
v2.05.01.00: 44 53 31 30 30 30 45 20 20 20 82 85 84 88 C3 7B 47 92 39 C8 7E<br />
v2.05.01.02: 44 53 31 30 30 30 45 20 20 20 82 85 84 82 8B B8 96 41 63 FF 33<br />
v2.05.02.00: 44 53 31 30 30 30 45 20 20 20 82 85 82 88 C0 7E D7 6A 15 B6 B6<br />
v2.06.00.01: 4A E3 3E 5E 1C EA 8D 39 9A 23 82 86 88 84 02 8C E9 A6 50 D0 BC</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information/Hardware&diff=165General Information/Hardware2012-01-11T00:53:24Z<p>Krater: </p>
<hr />
<div>;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Memory: <br />
:Flash EPROM: [http://www.alldatasheet.com/datasheet-pdf/pdf/211252/SPANSION/S29GL064N90TFI040.html S29GL064N90TFI04] - 8MB, 16Bit, DS1052E dump[http://www.eevblog.com/forum/index.php?action=dlattach;topic=30.0;attach=1920]<br />
:Sample RAM: [http://www.issi.com/pdf/61LPS25632TD.pdf IS61LPS25636A-200] - 256kx36, 200MHz @ 250MHz<br />
:Config FRAM: [http://www.ramtron.com/products/nonvolatile-memory/serial-product.aspx?id=55 FM24CL04B] - 4kb non volatile ferroelectric memory, DS1052E dumps[http://www.eevblog.com/forum/index.php?topic=30.msg2783#msg2783][http://www.eevblog.com/forum/index.php?topic=30.msg2788#msg2788]<br />
:SDRAM: [http://www.hynix.com/inc/pdfDownload.jsp?path=/datasheet/pdf/consumer/H57V1262GTR_Series(Rev.1.0).pdf H57V1262GTR] - 4x2x16 Mb (16 MB)<br />
;A/D Converter<br />
:5x [http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9288/products/product.html AD9288-40] - 8-Bit, 40MHz MSPS Dual A/D Converter @100MHz<br />
;A/D Driver: [http://www.national.com/ds/LM/LMH6552.pdf LMH6552] or [http://www.national.com/ds/LM/LMH6552.pdf LMH6553][http://www.eevblog.com/forum/index.php?topic=30.msg2107#msg2107]?<br />
;A/D references: [http://www.eevblog.com/forum/index.php?topic=30.msg22457#msg22457 Multiplexed DAC]<br />
;Programmable Logic:<br />
:FPGA: Altera Cyclone III [http://datasheet.octopart.com/EP3C5F256C8N-Altera-datasheet-6401537.pdf EP3C5F256C8N]<br />
::Logic blocks:321<br />
::Family type:cyclone iii<br />
::Total ram bits:423936<br />
::I/O's:182<br />
::Core supply voltage range:1.15v to 1.25v<br />
::I/O supply voltage:3.3v<br />
::Operating frequency max:402mhz<br />
::Package style:BGA<br />
::Pins:256<br />
::Supply voltage range :2.375v to 2.625v <br />
<br />
:CPLD: Lattice Mach XO [http://datasheet.octopart.com/LCMXO256C-3TN100C-Lattice-Semiconductor-datasheet-166530.pdf LCMXO256C-3TN100C]<br />
::I/O lines:78<br />
::Macrocells:128 <br />
::frequency:500mhz<br />
::voltage, supply range 1.71v to 3.465v<br />
::Package style:TQFP<br />
::Pins:100 <br />
<br />
;Logic analyzer driver: National Semi DS90LV047A[http://www.rcgroups.com/forums/showpost.php?p=11714369&postcount=385][http://www.rcgroups.com/forums/showpost.php?p=11714861&postcount=386][http://www.rcgroups.com/forums/showpost.php?p=11717320&postcount=390]<br />
;USB interface: [http://www.cs.columbia.edu/~sedwards/classes/2010/4840/Philips-ISP1362-USB-controller.pdf ISP1362BD][http://www.eevblog.com/forum/index.php?topic=3738.msg50242#msg50242]<br />
;LCD controller: [http://pdf.chinaicmart.com/88888/200842210717180.pdf UPS051][http://www.eevblog.com/forum/index.php?topic=3738.msg50503#msg50503] or Himax HX8802-C [http://img683.imageshack.us/img683/6131/rigolds1102e.jpg]<br />
;Display: 320x234, 64k colors</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information/Software&diff=164General Information/Software2012-01-10T17:53:22Z<p>Krater: /* Foreign software */</p>
<hr />
<div>;Firmware size: 4 MB + Graphic memory<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from scratch without a OS(?)<br />
<br />
=== Foreign software ===<br />
* [http://www.hackchina.com/en/cont/38123 Minixml] from Deng Yangjun<br />
** Firmware 00.02.05.00: 0x60C204 - 0x60C8D0<br />
* [http://zlib.net/ zlib 1.2.3] from Jean-loup Gailly and Mark Adler<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands of DS1000E 2.2.2]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4.0.3 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information/Software&diff=163General Information/Software2012-01-10T01:01:29Z<p>Krater: /* Foreign software */</p>
<hr />
<div>;Firmware size: 4 MB + Graphic memory<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from scratch without a OS(?)<br />
<br />
=== Foreign software ===<br />
* [http://www.hackchina.com/en/cont/38123 Minixml] from Deng Yangjun<br />
** Firmware 00.02.05.00: 0x60C204 - 0x60C8D0<br />
* [http://zlib.net/ zlib] from Jean-loup Gailly and Mark Adler<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands of DS1000E 2.2.2]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4.0.3 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information/Software&diff=162General Information/Software2012-01-09T14:23:32Z<p>Krater: </p>
<hr />
<div>;Firmware size: 4 MB + Graphic memory<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from scratch without a OS(?)<br />
<br />
=== Foreign software ===<br />
* [http://www.hackchina.com/en/cont/38123 Minixml] from Deng Yangjun<br />
** Firmware 00.02.05.00: 0x60C204 - 0x60C8D0<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands of DS1000E 2.2.2]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4.0.3 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information/Hardware&diff=161General Information/Hardware2012-01-09T14:21:23Z<p>Krater: </p>
<hr />
<div>;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Memory: <br />
:Flash EPROM: [http://www.alldatasheet.com/datasheet-pdf/pdf/211252/SPANSION/S29GL064N90TFI040.html S29GL064N90TFI04] - 8MB, 16Bit, DS1052E dump[http://www.eevblog.com/forum/index.php?action=dlattach;topic=30.0;attach=1920]<br />
:Sample RAM: [http://www.issi.com/pdf/61LPS25632TD.pdf IS61LPS25636A-200] - 256kx36, 200MHz @ 250MHz<br />
:Config FRAM: [http://www.ramtron.com/products/nonvolatile-memory/serial-product.aspx?id=55 FM24CL04B] - 4kb non volatile ferroelectric memory, DS1052E dumps[http://www.eevblog.com/forum/index.php?topic=30.msg2783#msg2783][http://www.eevblog.com/forum/index.php?topic=30.msg2788#msg2788]<br />
:SDRAM: [http://www.hynix.com/inc/pdfDownload.jsp?path=/datasheet/pdf/consumer/H57V1262GTR_Series(Rev.1.0).pdf H57V1262GTR] - 4x2x16 Mb (16 MB)<br />
;A/D Converter<br />
:5x [http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9288/products/product.html AD9288-40] - 8-Bit, 40MHz MSPS Dual A/D Converter @100MHz<br />
;A/D Driver: [http://www.national.com/ds/LM/LMH6552.pdf LMH6552] or [http://www.national.com/ds/LM/LMH6552.pdf LMH6553][http://www.eevblog.com/forum/index.php?topic=30.msg2107#msg2107]?<br />
;A/D references: [http://www.eevblog.com/forum/index.php?topic=30.msg22457#msg22457 Multiplexed DAC]<br />
;Programmable Logic:<br />
:FPGA: Altera Cyclone III [http://datasheet.octopart.com/EP3C5F256C8N-Altera-datasheet-6401537.pdf EP3C5F256C8N]<br />
::Logic blocks:321<br />
::Family type:cyclone iii<br />
::Total ram bits:423936<br />
::I/O's:182<br />
::Core supply voltage range:1.15v to 1.25v<br />
::I/O supply voltage:3.3v<br />
::Operating frequency max:402mhz<br />
::Package style:BGA<br />
::Pins:256<br />
::Supply voltage range :2.375v to 2.625v <br />
<br />
:CPLD: Lattice Mach XO [http://datasheet.octopart.com/LCMXO256C-3TN100C-Lattice-Semiconductor-datasheet-166530.pdf LCMXO256C-3TN100C]<br />
::I/O lines:78<br />
::Macrocells:128 <br />
::frequency:500mhz<br />
::voltage, supply range 1.71v to 3.465v<br />
::Package style:TQFP<br />
::Pins:100 <br />
<br />
;Logic analyzer driver: National Semi DS90LV047A[http://www.rcgroups.com/forums/showpost.php?p=11714369&postcount=385][http://www.rcgroups.com/forums/showpost.php?p=11714861&postcount=386][http://www.rcgroups.com/forums/showpost.php?p=11717320&postcount=390]<br />
;USB interface: [http://www.cs.columbia.edu/~sedwards/classes/2010/4840/Philips-ISP1362-USB-controller.pdf ISP1362BD][http://www.eevblog.com/forum/index.php?topic=3738.msg50242#msg50242]<br />
;LCD controller: [http://pdf.chinaicmart.com/88888/200842210717180.pdf UPS051][http://www.eevblog.com/forum/index.php?topic=3738.msg50503#msg50503] or Himax HX8802-C [http://img683.imageshack.us/img683/6131/rigolds1102e.jpg]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information/Software&diff=159General Information/Software2012-01-09T01:42:09Z<p>Krater: </p>
<hr />
<div>;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from scratch without a OS(?)<br />
<br />
=== Foreign software ===<br />
* [http://www.hackchina.com/en/cont/38123 Minixml] from Deng Yangjun<br />
** Firmware 00.02.05.00: 0x60C204 - 0x60C8D0<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands of DS1000E 2.2.2]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4.0.3 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information/Software&diff=158General Information/Software2012-01-09T01:21:44Z<p>Krater: </p>
<hr />
<div>;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from scratch without a OS(?)<br />
<br />
=== Foreign software ===<br />
* [http://www.hackchina.com/en/cont/38123 Minixml] from Deng Yangjun<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands of DS1000E 2.2.2]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4.0.3 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Main_Page&diff=157Main Page2012-01-09T01:18:39Z<p>Krater: </p>
<hr />
<div><!-- Added a split column information box- computid --><br />
{{:Main Page/Welcome}}<br />
<br />
<br />
<br />
{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Toolchain}}<br />
====Getting started====<br />
* [[Build the Toolchain]]<br />
* [[Patch your Firmware]]<br />
* [[Start Development]]<br />
<br />
{{col-2}}<br />
{{HeadingB|Reverse Engineering}}<br />
====General Information====<br />
*[[General Information/Software|Software]]<br />
*[[General Information/Hardware|Hardware]]<br />
<br />
====Software====<br />
* [[Mapfile]]<br />
* [[Flirt Signatures]]<br />
* [[Firmware Upgrade]]<br />
<br />
====Hardware====<br />
* [[JTAG]]<br />
* [[Schematics]]<br />
* [[Hardware/Pictures]]<br />
* [[Hardware/References]]<br />
<br />
{{col-end}}<br />
<br />
{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Applications & Guides}}<br />
<br />
====Applications====<br />
====Tutorials====<br />
====Ideas====<br />
* [[Waterfall Plot for FFT]]<br />
* [[Protocol Analyzer]]<br />
* [[Software Defined Radio]]<br />
<br />
<br />
{{col-2}}<br />
{{HeadingB|Developers & Writers}}<br />
<br />
* [[User:krater|krater (Andreas Schuler)]]<br />
* [[user:A Helene|A Helene]]<br />
* [[user:matt|Matt (Matthew Ellis)]]<br />
<br />
<br />
{{col-end}}<br />
<br />
{| border="1" class="wikitable" style="background-color:orange; width:100%;"<br />
|-<br />
|colspan="4" style="background-color:orange; text-align:center;"| [[Disclaimer]]<br />
|}<br />
<br />
__NOTOC____NOEDITSECTION__</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information/Software&diff=156General Information/Software2012-01-09T01:11:09Z<p>Krater: Created page with ";Firmware size: 4 MB ;Reset vector: 0xFFA0 8000 ;Build with: VirtualDSP 4.x ;Operating System: Written from scratch without a OS(?) === Boot loader === * [http://www.eevblog.com..."</p>
<hr />
<div>;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from scratch without a OS(?)<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands of DS1000E 2.2.2]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4.0.3 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information/Hardware&diff=155General Information/Hardware2012-01-09T01:10:43Z<p>Krater: Created page with ";CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531] ;Memory: :Flash EPROM: [http://www.alldatasheet.com/datasheet-pdf/pdf/211252/SPANSION/S29GL064N90TFI040.html S29GL064N90TF..."</p>
<hr />
<div>;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Memory: <br />
:Flash EPROM: [http://www.alldatasheet.com/datasheet-pdf/pdf/211252/SPANSION/S29GL064N90TFI040.html S29GL064N90TFI04] - 8MB, 16Bit, DS1052E dump[http://www.eevblog.com/forum/index.php?action=dlattach;topic=30.0;attach=1920]<br />
:Sample RAM: [http://www.issi.com/pdf/61LPS25632TD.pdf IS61LPS25636A-200] - 256kx36, 200MHz @ 250MHz<br />
:Config FRAM: [http://www.ramtron.com/products/nonvolatile-memory/serial-product.aspx?id=55 FM24CL04B] - 4kb non volatile ferroelectric memory, DS1052E dumps[http://www.eevblog.com/forum/index.php?topic=30.msg2783#msg2783][http://www.eevblog.com/forum/index.php?topic=30.msg2788#msg2788]<br />
:SDRAM: [http://www.hynix.com/inc/pdfDownload.jsp?path=/datasheet/pdf/consumer/H57V1262GTR_Series(Rev.1.0).pdf H57V1262GTR] - 4x2x16 Mb (16 MB)<br />
;A/D Converter<br />
:5x [http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9288/products/product.html AD9288-40] - 8-Bit, 40MHz MSPS Dual A/D Converter @100MHz<br />
;A/D Driver: [http://www.national.com/ds/LM/LMH6552.pdf LMH6552] or [http://www.national.com/ds/LM/LMH6552.pdf LMH6553][http://www.eevblog.com/forum/index.php?topic=30.msg2107#msg2107]?<br />
;A/D references: [http://www.eevblog.com/forum/index.php?topic=30.msg22457#msg22457 Multiplexed DAC]<br />
;Programmable Logic:<br />
:FPGA: Altera Cyclone III [http://datasheet.octopart.com/EP3C5F256C8N-Altera-datasheet-6401537.pdf EP3C5F256C8N]<br />
::Logic blocks:321<br />
::Family type:cyclone iii<br />
::Total ram bits:423936<br />
::I/O's:182<br />
::Core supply voltage range:1.15v to 1.25v<br />
::I/O supply voltage:3.3v<br />
::Operating frequency max:402mhz<br />
::Case style:bga<br />
::No. of pins:256<br />
::Supply voltage range :2.375v to 2.625v <br />
<br />
:CPLD: Lattice Mach XO [http://datasheet.octopart.com/LCMXO256C-3TN100C-Lattice-Semiconductor-datasheet-166530.pdf LCMXO256C-3TN100C]<br />
::no of i/o lines:78<br />
::no. of macrocells:128 <br />
::frequency:500mhz<br />
::voltage, supply range 1.71v to 3.465v<br />
::case style:tqfp<br />
::no. of pins:100 <br />
<br />
;Logic analyzer driver: National Semi DS90LV047A[http://www.rcgroups.com/forums/showpost.php?p=11714369&postcount=385][http://www.rcgroups.com/forums/showpost.php?p=11714861&postcount=386][http://www.rcgroups.com/forums/showpost.php?p=11717320&postcount=390]<br />
;USB interface: [http://www.cs.columbia.edu/~sedwards/classes/2010/4840/Philips-ISP1362-USB-controller.pdf ISP1362BD][http://www.eevblog.com/forum/index.php?topic=3738.msg50242#msg50242]<br />
;LCD controller: [http://pdf.chinaicmart.com/88888/200842210717180.pdf UPS051][http://www.eevblog.com/forum/index.php?topic=3738.msg50503#msg50503] or Himax HX8802-C [http://img683.imageshack.us/img683/6131/rigolds1102e.jpg]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Main_Page/Welcome&diff=154Main Page/Welcome2012-01-09T01:06:58Z<p>Krater: </p>
<hr />
<div>{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Welcome to the Rigol Homebrew Wiki}}<br />
[[File:Rigol DS1052E.jpg|Rigol DS1052E|400px|right]]<br />
We are a affiliation of some people that wants to open the Rigol oscilloscopes for new software and the open source community. We know that switching the bandwith from 50MHz to 100MHz is cool, but not the only possible improvement we can do.<br><br />
We've reverse engineered parts of the hard- and software and written a toolchain for building and uploading our own applications.<br><br />
<br />
Actually this wiki is relatively empty, you can only find the toolchain, some schematics and general information. Hope this will change in the near future. If you want write howto's, add your informations or have another rigol related project, write to [[User:krater|krater]] to get a wiki account.<br><br><br />
<br />
If you want to write your own software or only ever wanted to play pong on your Rigol, the best startpoint is to read the [[Build_the_Toolchain|installation howto]] for the toolchain, patch your firmware and play around with the examples.<br />
<br />
For help and more informations, i suggest you to join our [http://groups.google.com/group/rigolhomebrew mailing list] or join our channel #rigolhomebrew at [http://freenode.net/irc_servers.shtml FreeNode]<br />
<br />
{{col-end}}</div>Kraterhttp://rigol.codenaschen.de/index.php?title=User:Krater&diff=153User:Krater2012-01-09T00:22:40Z<p>Krater: </p>
<hr />
<div>Hi, <br />
<br />
i'm the programmer of the toolchain and project founder.<br><br />
Look at my [http://codenaschen.de blog] to read more about my other projects.<br />
<br />
Feel free to send me a mail at andreas _at_ schulerdev . de<br><br />
I speak german and english.<br><br><br />
<br />
Unless i work on the toolchain or other hobby projects, i work as freelancer (software-/hardware development). <br />
Maybee you have a job for me ? ;)<br />
<br />
<br />
cheers,<br><br />
krater (Andreas Schuler)</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Hardware/Pictures&diff=142Hardware/Pictures2012-01-08T14:23:34Z<p>Krater: added some logic analyzer pictures</p>
<hr />
<div>* [http://imageshack.us/photo/my-images/683/rigolds1102e.jpg/ DS1102E main board]<br />
* [http://imageshack.us/photo/my-images/683/1102ebottom.jpg/ DS1102E main board bottom]<br />
* [http://imageshack.us/photo/my-images/21/rigolfrontend.jpg/ DS1102E analog input]<br />
* [http://imageshack.us/photo/my-images/21/rigolpsu.jpg/ DS1102E PSU board]<br />
* [http://imageshack.us/photo/my-images/198/rigol1052vs1102.jpg/ DS1102E vs DS1052E analog input]<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg20968#msg20968 DS1052E boards]<br />
* [http://www.eevblog.com/forum/index.php?topic=441.msg7718#msg7718 Logic analyzer board]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=11714369&postcount=385 Logic analyzer buffer]<br />
* [http://www.youtube.com/watch?v=sO5iGwHpmHc DS1052E teardown from EEVblog]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information&diff=137General Information2012-01-07T07:01:13Z<p>Krater: /* Hardware */ added alternative lcd controller</p>
<hr />
<div>== Hardware ==<br />
;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Memory: <br />
:Flash EPROM: [http://www.alldatasheet.com/datasheet-pdf/pdf/211252/SPANSION/S29GL064N90TFI040.html S29GL064N90TFI04] - 8MB, 16Bit, DS1052E dump[http://www.eevblog.com/forum/index.php?action=dlattach;topic=30.0;attach=1920]<br />
:Sample RAM: [http://www.issi.com/pdf/61LPS25632TD.pdf IS61LPS25636A-200] - 256kx36, 200MHz @ 250MHz<br />
:Config FRAM: [http://www.ramtron.com/products/nonvolatile-memory/serial-product.aspx?id=55 FM24CL04B] - 4kb non volatile ferroelectric memory, DS1052E dumps[http://www.eevblog.com/forum/index.php?topic=30.msg2783#msg2783][http://www.eevblog.com/forum/index.php?topic=30.msg2788#msg2788]<br />
:SDRAM: [http://www.hynix.com/inc/pdfDownload.jsp?path=/datasheet/pdf/consumer/H57V1262GTR_Series(Rev.1.0).pdf H57V1262GTR] - 4x2x16 Mb (16 MB)<br />
;A/D Converter<br />
:5x [http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9288/products/product.html AD9288-40] - 8-Bit, 40MHz MSPS Dual A/D Converter @100MHz<br />
;A/D Driver: [http://www.national.com/ds/LM/LMH6552.pdf LMH6552] or [http://www.national.com/ds/LM/LMH6552.pdf LMH6553][http://www.eevblog.com/forum/index.php?topic=30.msg2107#msg2107]?<br />
;A/D references: [http://www.eevblog.com/forum/index.php?topic=30.msg22457#msg22457 Multiplexed DAC]<br />
;Programmable Logic:<br />
:FPGA: Altera Cyclone III EP3C5F256C8N<br />
:CPLD: Lattice Mach XO LCMX0256C-3TN100C<br />
;Logic analyzer driver: National Semi DS90LV047A[http://www.rcgroups.com/forums/showpost.php?p=11714369&postcount=385][http://www.rcgroups.com/forums/showpost.php?p=11714861&postcount=386][http://www.rcgroups.com/forums/showpost.php?p=11717320&postcount=390]<br />
;USB interface: [http://www.cs.columbia.edu/~sedwards/classes/2010/4840/Philips-ISP1362-USB-controller.pdf ISP1362BD][http://www.eevblog.com/forum/index.php?topic=3738.msg50242#msg50242]<br />
;LCD controller: [http://pdf.chinaicmart.com/88888/200842210717180.pdf UPS051][http://www.eevblog.com/forum/index.php?topic=3738.msg50503#msg50503] or Himax HX8802-C [http://img683.imageshack.us/img683/6131/rigolds1102e.jpg]<br />
<br />
== Software ==<br />
;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from scratch without a OS(?)<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information&diff=120General Information2012-01-06T08:45:57Z<p>Krater: /* Hardware */</p>
<hr />
<div>== Hardware ==<br />
;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Memory: <br />
:Flash EPROM: [http://www.alldatasheet.com/datasheet-pdf/pdf/211252/SPANSION/S29GL064N90TFI040.html S29GL064N90TFI04] - 8MB, 16Bit, DS1052E dump[http://www.eevblog.com/forum/index.php?action=dlattach;topic=30.0;attach=1920]<br />
:Sample RAM: [http://www.issi.com/pdf/61LPS25632TD.pdf IS61LPS25636A-200] - 256Kx36, 200MHz @ 250MHz<br />
:Config FRAM: [http://www.ramtron.com/products/nonvolatile-memory/serial-product.aspx?id=55 FM24CL04B] - 4kb non volatile ferroelectric memory, DS1052E dumps[http://www.eevblog.com/forum/index.php?topic=30.msg2783#msg2783][http://www.eevblog.com/forum/index.php?topic=30.msg2788#msg2788]<br />
;A/D Converter<br />
:5x [http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9288/products/product.html AD9288-40] - 8-Bit, 40MHz MSPS Dual A/D Converter @100MHz<br />
;A/D Driver: [http://www.national.com/ds/LM/LMH6552.pdf LMH6552] or [http://www.national.com/ds/LM/LMH6552.pdf LMH6553][http://www.eevblog.com/forum/index.php?topic=30.msg2107#msg2107]?<br />
;A/D references: [http://www.eevblog.com/forum/index.php?topic=30.msg22457#msg22457 Multiplexed DAC]<br />
;Programmable Logic:<br />
:FPGA: Altera Cyclone III EP3C5F256C8N<br />
:CPLD: Lattice Mach XO LCMX0256C-3TN100C<br />
<br />
== Software ==<br />
;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from scratch without a OS(?)<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information&diff=119General Information2012-01-06T08:45:05Z<p>Krater: /* Software */</p>
<hr />
<div>== Hardware ==<br />
;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Memory: <br />
:Flash EPROM: [http://www.alldatasheet.com/datasheet-pdf/pdf/211252/SPANSION/S29GL064N90TFI040.html S29GL064N90TFI04] - 8MB, 16Bit, DS1052E dump[http://www.eevblog.com/forum/index.php?action=dlattach;topic=30.0;attach=1920]<br />
:Sample RAM: [http://www.issi.com/pdf/61LPS25632TD.pdf IS61LPS25636A-200] - 256K x 36 200MHz @ 250MHz<br />
:Config FRAM: [http://www.ramtron.com/products/nonvolatile-memory/serial-product.aspx?id=55 FM24CL04B] - 4kb non volatile ferroelectric memory, DS1052E dumps[http://www.eevblog.com/forum/index.php?topic=30.msg2783#msg2783][http://www.eevblog.com/forum/index.php?topic=30.msg2788#msg2788]<br />
;A/D Converter<br />
:5x [http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9288/products/product.html AD9288-40] - 8-Bit, 40MHz MSPS Dual A/D Converter @100MHz<br />
;A/D Driver: [http://www.national.com/ds/LM/LMH6552.pdf LMH6552] or [http://www.national.com/ds/LM/LMH6552.pdf LMH6553][http://www.eevblog.com/forum/index.php?topic=30.msg2107#msg2107]?<br />
;A/D references: [http://www.eevblog.com/forum/index.php?topic=30.msg22457#msg22457 Multiplexed DAC]<br />
;Programmable Logic:<br />
:FPGA: Altera Cyclone III EP3C5F256C8N<br />
:CPLD: Lattice Mach XO LCMX0256C-3TN100C<br />
<br />
== Software ==<br />
;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from scratch without a OS(?)<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information&diff=118General Information2012-01-06T08:44:16Z<p>Krater: /* Hardware */ count of a/d chips</p>
<hr />
<div>== Hardware ==<br />
;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Memory: <br />
:Flash EPROM: [http://www.alldatasheet.com/datasheet-pdf/pdf/211252/SPANSION/S29GL064N90TFI040.html S29GL064N90TFI04] - 8MB, 16Bit, DS1052E dump[http://www.eevblog.com/forum/index.php?action=dlattach;topic=30.0;attach=1920]<br />
:Sample RAM: [http://www.issi.com/pdf/61LPS25632TD.pdf IS61LPS25636A-200] - 256K x 36 200MHz @ 250MHz<br />
:Config FRAM: [http://www.ramtron.com/products/nonvolatile-memory/serial-product.aspx?id=55 FM24CL04B] - 4kb non volatile ferroelectric memory, DS1052E dumps[http://www.eevblog.com/forum/index.php?topic=30.msg2783#msg2783][http://www.eevblog.com/forum/index.php?topic=30.msg2788#msg2788]<br />
;A/D Converter<br />
:5x [http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9288/products/product.html AD9288-40] - 8-Bit, 40MHz MSPS Dual A/D Converter @100MHz<br />
;A/D Driver: [http://www.national.com/ds/LM/LMH6552.pdf LMH6552] or [http://www.national.com/ds/LM/LMH6552.pdf LMH6553][http://www.eevblog.com/forum/index.php?topic=30.msg2107#msg2107]?<br />
;A/D references: [http://www.eevblog.com/forum/index.php?topic=30.msg22457#msg22457 Multiplexed DAC]<br />
;Programmable Logic:<br />
:FPGA: Altera Cyclone III EP3C5F256C8N<br />
:CPLD: Lattice Mach XO LCMX0256C-3TN100C<br />
<br />
== Software ==<br />
;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from Scratch without a OS(?)<br />
<br />
=== Boot loader ===<br />
* [http://www.eevblog.com/forum/index.php?topic=30.msg3160#msg3160 SPI secondary boot loader]<br />
<br />
=== Command interface ===<br />
* [http://www.rcgroups.com/forums/showpost.php?p=13549739&postcount=727 Some undocumented 488 commands]<br />
* [http://www.rcgroups.com/forums/showpost.php?p=15479444&postcount=912 Some 2.4 undocumented 488 commands]<br />
* [http://www.rigolna.com/pdfs/Programming_Guides/DS1000E_Programming_Guide.pdf DS1000E Programming Guide]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=User:Krater&diff=105User:Krater2012-01-05T17:18:29Z<p>Krater: </p>
<hr />
<div>Hi, <br />
<br />
i'm the programmer of the toolchain and project founder.<br><br />
Look at my [http://codenaschen.de blog] to read more about my other projects.<br />
<br />
If you want to contact me, write a mail to andreas _at_ schulerdev . de<br><br />
If you want, you can write in german too.<br><br><br />
<br />
Unless i work on the toolchain or other hobby projects, i work as freelancer (software-/hardware development). <br />
Maybee you have a job for me ? ;)<br />
<br />
<br />
cheers,<br><br />
krater (Andreas Schuler)</div>Kraterhttp://rigol.codenaschen.de/index.php?title=JTAG&diff=104JTAG2012-01-05T17:16:23Z<p>Krater: Created page with "== Pinout of the JTAG Header == -------- 3,3V(10k+3v3) <| o o |> /EMU (83) | | | o |> GND | ..."</p>
<hr />
<div>== Pinout of the JTAG Header ==<br />
<br />
--------<br />
3,3V(10k+3v3) <| o o |> /EMU (83)<br />
| |<br />
| o |> GND<br />
| |<br />
GND <| o o |> CPU Pin85 = TMS<br />
| |<br />
GND <| o o |> CPU Pin94 = TCK (10k)<br />
| |<br />
GND <| o o |> /TRST (84) (10k) <br />
| |<br />
GND <| o o |> CPU Pin86 = TDI (10k)<br />
| |<br />
GND <| o o |> CPU Pin87 = TDO 100-<br />
--------</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information&diff=103General Information2012-01-05T17:11:28Z<p>Krater: Added some hardware infos</p>
<hr />
<div>== Hardware ==<br />
;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Memory: <br />
:Flash EPROM: [http://www.alldatasheet.com/datasheet-pdf/pdf/211252/SPANSION/S29GL064N90TFI040.html S29GL064N90TFI04] - 8MB, 16Bit<br />
:Sample RAM: [http://www.issi.com/pdf/61LPS25632TD.pdf IS61LPS25636A-200] - 256K x 36 200MHz @ 250MHz<br />
:Config FRAM: [http://www.ramtron.com/products/nonvolatile-memory/serial-product.aspx?id=55 FM24CL04B] - 4kb non volatile ferroelectric memory<br />
;A/D Converter<br />
:10x [http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9288/products/product.html AD9288-40] - 8-Bit, 40MHz MSPS Dual A/D Converter @100MHz<br />
;Programmable Logic:<br />
:FPGA: Altera Cyclone III EP3C5F256C8N<br />
:CPLD: Lattice Mach XO LCMX0256C-3TN100C<br />
<br />
== Software ==<br />
;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from Scratch without a OS(?)</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information&diff=102General Information2012-01-05T16:19:31Z<p>Krater: /* Software */</p>
<hr />
<div>== Hardware ==<br />
;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Flash EPROM: 4 MB (or is it 8 MB paged by a bootloader?)<br />
<br />
== Software ==<br />
;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x<br />
;Operating System: Written from Scratch without a OS(?)</div>Kraterhttp://rigol.codenaschen.de/index.php?title=General_Information&diff=101General Information2012-01-05T16:17:16Z<p>Krater: /* Software */</p>
<hr />
<div>== Hardware ==<br />
;CPU: [http://www.analog.com/pr/ADSP-BF531 ADSP-BF531]<br />
;Flash EPROM: 4 MB (or is it 8 MB paged by a bootloader?)<br />
<br />
== Software ==<br />
;Firmware size: 4 MB<br />
;Reset vector: 0xFFA0 8000<br />
;Build with: VirtualDSP 4.x</div>Kraterhttp://rigol.codenaschen.de/index.php?title=User:Krater&diff=91User:Krater2012-01-05T04:34:44Z<p>Krater: Created page with "Hi, i'm the programmer of toolchain and project founder.<br> Look at my [http://codenaschen.de blog] to read more about my other projects. If you want to contact me, write a m..."</p>
<hr />
<div>Hi, <br />
<br />
i'm the programmer of toolchain and project founder.<br><br />
Look at my [http://codenaschen.de blog] to read more about my other projects.<br />
<br />
If you want to contact me, write a mail to andreas _at_ schulerdev . de<br><br />
If you want, you can write in german too.<br><br><br />
<br />
Unless i work on the toolchain or other hobby projects, i work as freelancer (software-/hardware development). <br />
Maybee you have a job for me ? ;)<br />
<br />
<br />
cheers,<br><br />
krater (Andreas Schuler)</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Main_Page/Welcome&diff=90Main Page/Welcome2012-01-05T03:47:06Z<p>Krater: </p>
<hr />
<div>{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Welcome to the Rigol Homebrew Wiki}}<br />
[[File:Rigol DS1052E.jpg|Rigol DS1052E|400px|right]]<br />
We are a affiliation of some people that wants to open the Rigol oscilloscopes for new software and the open source community. We know that switching the bandwith from 50MHz to 100MHz is cool, but not the only possible improvement we can do.<br><br />
We've reverse engineered parts of the hard- and software and written a toolchain for building and uploading our own applications.<br><br />
<br />
Actually this wiki is relatively empty, you can only find the toolchain, some schematics and general informations. Hope this will change in the near future. If you want write howto's, add your informations or have another rigol related project, write to [[User:krater|krater]] to get a wiki account.<br><br><br />
<br />
If you want to write your own software or only ever wanted to play pong on your Rigol, the best startpoint is to read the [[Build_the_Toolchain|installation howto]] for the toolchain, patch your firmware and play around with the examples.<br />
<br />
For help and more informations, i suggest you to join our [http://groups.google.com/group/rigolhomebrew?hl=de mailing list] or join our channel #rigolhomebrew at [http://freenode.net/irc_servers.shtml FreeNode]<br />
<br />
{{col-end}}</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Main_Page&diff=89Main Page2012-01-02T14:23:46Z<p>Krater: </p>
<hr />
<div><!-- Added a split column information box- computid --><br />
{{:Main Page/Welcome}}<br />
<br />
<br />
<br />
{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Toolchain}}<br />
====Getting started====<br />
* [[Build the Toolchain]]<br />
* [[Patch your Firmware]]<br />
* [[Start Development]]<br />
<br />
{{col-2}}<br />
{{HeadingB|Reverse Engineering}}<br />
====Software====<br />
* [[General Informations]]<br />
* [[Mapfile]]<br />
* [[Flirt Signatures]]<br />
<br />
====Hardware====<br />
* [[General Information]]<br />
* [[JTAG]]<br />
* [[Schematics]]<br />
<br />
{{col-end}}<br />
<br />
{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Applications & Guides}}<br />
<br />
====Applications====<br />
====Tutorials====<br />
====Ideas====<br />
* [[Waterfall Plot for FFT]]<br />
* [[Protocol Analyzer]]<br />
* [[Software Defined Radio]]<br />
<br />
<br />
{{col-2}}<br />
{{HeadingB|Developers & Writers}}<br />
<br />
* [[User:krater|krater (Andreas Schuler)]]<br />
* [[user:A Helene|A Helene]]<br />
<br />
{{col-end}}<br />
<br />
{| border="1" class="wikitable" style="background-color:orange; width:100%;"<br />
|-<br />
|colspan="4" style="background-color:orange; text-align:center;"| [[Disclaimer]]<br />
|}<br />
<br />
__NOTOC____NOEDITSECTION__</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Start_Development&diff=88Start Development2011-12-28T16:07:56Z<p>Krater: </p>
<hr />
<div>Sorry, not complete yet, you will find some starting point in the examples delivered with the toolchain...<br />
<br />
<br />
<br />
<br />
<br />
----<br />
<br />
<br />
<br />
howto compile examples<br />
<br />
links to blackfin prm<br />
<br />
<br />
-----------------<br />
<br />
=== Pitfalls ===<br />
<br />
; Alignment<br />
: Every command must be word aligned. When you access the memory, word accesses must be word aligned, long word accesses must be long word aligned. <br />
: '''Don't''' use the .align directive . It doesn't works with the toolchain. Use .byte directives to do that.<br />
<br />
; Subroutines / Calls<br />
: Every subroutine that calls subroutines must start with LINK and end with UNLINK to save the return address to the stack. The blackfin CPU doesn't do that automaticly.<br />
<br />
Example:<br />
<pre><br />
sub:<br />
LINK 0x0<br />
<br />
...<br />
CALL sub2<br />
...<br />
<br />
UNLINK<br />
RTS<br />
</pre><br />
<br />
; STOP-Mode<br />
: Switch your scope to the STOP-Mode if you don't need capturing during your software is working. Sometimes i got unpredictable crashs when the device was in AUTO-Mode. Hope to find a reason for this thing soon.<br />
<br />
; Unlock the Keyboard<br />
: If you need keyboard interaction, first you should unlock the keyboard for user inputs.<br />
: This lines will do the job:<br />
<pre><br />
R0=0<br />
CALL Set_KeyLock<br />
</pre><br />
: The keyboard is locked, because the serial interface is used to upload and start your software.<br />
: You can see that its locked if the only keycode you get is KC_KEYLOCK (0xc9).</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Main_Page/Welcome&diff=87Main Page/Welcome2011-12-28T16:06:41Z<p>Krater: </p>
<hr />
<div>{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Welcome to the Rigol Homebrew Wiki}}<br />
[[File:Rigol DS1052E.jpg|Rigol DS1052E|400px|right]]<br />
We are a affiliation of some people that wants to open the Rigol oscilloscopes for new software and the open source community. We know that switching the bandwith from 50MHz to 100MHz is cool, but not the only possible improvement we can do.<br><br />
We've reverse engineered parts of the hard- and software and written a toolchain for building and uploading our own applications.<br><br />
<br />
Actually this wiki is relatively empty, you can only find the toolchain, some schematics and general informations. I hope this will be changed at the next months. Howto-Writers and all other people that wants to help us are welcome. <br><br />
<br />
If you want to write your own software or only ever wanted to play pong on your Rigol, the best startpoint is to read the [[Build_the_Toolchain|installation howto]] for the toolchain, patch your firmware and play around with the examples.<br />
<br />
For help and more informations, i suggest you to join our [http://groups.google.com/group/rigolhomebrew?hl=de mailing list]<br />
<br />
{{col-end}}</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Patch_your_Firmware&diff=86Patch your Firmware2011-12-24T04:43:53Z<p>Krater: </p>
<hr />
<div>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. <br />
<br />
For this job you need<br />
* The completly installed Blackfin and Rigol toolchain (follow the instructions [[Build_the_Toolchain|here]])<br />
* A installed md5sum tool<br />
* A original Rigol firmware image (DS1000EUpdate.RGL) version 02.05.02.00 with a md5sum of 9c28690d8d5a5690b7340fda943f5549. <br />
<br />
<br />
There is a patch script in the examples/rwpatch/ subdirectory of the toolchain.<br />
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<br />
<br />
<pre><br />
make patch<br />
</pre><br />
<br />
When all is working correct you get the response:<br />
<br />
<pre><br />
...<br />
</pre><br />
<br />
The resulting firmware should have the md5sum '''3ffccd4edcc70710e010124edec9ee1c'''. <br />
Now you can copy the new firmware image to a usb stick and flash it to your oscilloscope.<br><br><br />
<br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
This will possibly void your warranty or damage your oscilloscope.<br />
Make sure your device will work with version 02.05.02.00 of the original firmware BEFORE you flash the image. We are not responsible for any damage happens while you using this software.}}<br />
<br><br />
<br />
=== Enjoy the new possibilities ===<br />
<br />
After the patch the :FFT command of your serial console will no longer work as usual, but you have some new functions:<br />
<br />
;Read bytes from any memory address:<br />
<pre><br />
:FFT:xxxxxxxxRcc<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
cc: 2 digit count of bytes to read<br />
</pre><br />
<br />
;Write a byte to memory:<br />
<pre><br />
:FFT:xxxxxxxWvv<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
vv: 2 digit value for the byte<br />
</pre><br />
<br />
;Call a subroutine:<br />
<pre><br />
:FFT:xxxxxxxxCdd<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
dd: 2 digit dummy<br />
</pre><br />
<br />
<br><br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
Only use this commands if you really know what you do ! It could delete your calibration infos and firmware. We are not responsible for things you do.}}<br />
<br><br />
<br />
<br />
Next step:[[Start_Development]]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Patch_your_Firmware&diff=85Patch your Firmware2011-12-24T04:43:33Z<p>Krater: </p>
<hr />
<div>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. <br />
<br />
For this job you need<br />
* The completly installed Blackfin and Rigol toolchain (follow the instructions [[Build_the_Toolchain|here]])<br />
* A installed md5sum tool<br />
* A original Rigol firmware image (DS1000EUpdate.RGL) version 02.05.02.00 with a md5sum of 9c28690d8d5a5690b7340fda943f5549. <br />
<br />
<br />
There is a patch script in the examples/rwpatch/ subdirectory of the toolchain.<br />
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<br />
<br />
<pre><br />
make patch<br />
</pre><br />
<br />
When all is working correct you get the response:<br />
<br />
<pre><br />
...<br />
</pre><br />
<br />
The resulting firmware should have the md5sum '''3ffccd4edcc70710e010124edec9ee1c'''. <br />
Now you can copy the new firmware image to a usb stick and flash it to your oscilloscope.<br><br><br />
<br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
This will possibly void your warranty or damage your oscilloscope.<br />
Make sure your device will work with version 02.05.02.00 of the original firmware BEFORE you flash the image. We are not responsible for any damage happens while using this software.}}<br />
<br><br />
<br />
=== Enjoy the new possibilities ===<br />
<br />
After the patch the :FFT command of your serial console will no longer work as usual, but you have some new functions:<br />
<br />
;Read bytes from any memory address:<br />
<pre><br />
:FFT:xxxxxxxxRcc<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
cc: 2 digit count of bytes to read<br />
</pre><br />
<br />
;Write a byte to memory:<br />
<pre><br />
:FFT:xxxxxxxWvv<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
vv: 2 digit value for the byte<br />
</pre><br />
<br />
;Call a subroutine:<br />
<pre><br />
:FFT:xxxxxxxxCdd<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
dd: 2 digit dummy<br />
</pre><br />
<br />
<br><br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
Only use this commands if you really know what you do ! It could delete your calibration infos and firmware. We are not responsible for things you do.}}<br />
<br><br />
<br />
<br />
Next step:[[Start_Development]]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Patch_your_Firmware&diff=84Patch your Firmware2011-12-24T04:42:30Z<p>Krater: /* Enjoy the new possibilities */</p>
<hr />
<div>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. <br />
<br />
For this job you need<br />
* The completly installed Blackfin and Rigol toolchain (follow the instructions [[Build_the_Toolchain|here]])<br />
* A installed md5sum tool<br />
* A original Rigol firmware image (DS1000EUpdate.RGL) version 02.05.02.00 with a md5sum of 9c28690d8d5a5690b7340fda943f5549. <br />
<br />
<br />
There is a patch script in the examples/rwpatch/ subdirectory of the toolchain.<br />
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<br />
<br />
<pre><br />
make patch<br />
</pre><br />
<br />
When all is working correct you get the response:<br />
<br />
<pre><br />
...<br />
</pre><br />
<br />
The resulting firmware should have the md5sum '''3ffccd4edcc70710e010124edec9ee1c'''. <br />
Now you can copy the new firmware image to a usb stick and flash it to your oscilloscope.<br><br><br />
<br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
This will possibly void your warranty or damage your oscilloscope.<br />
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.}}<br />
<br><br />
<br />
=== Enjoy the new possibilities ===<br />
<br />
After the patch the :FFT command of your serial console will no longer work as usual, but you have some new functions:<br />
<br />
;Read bytes from any memory address:<br />
<pre><br />
:FFT:xxxxxxxxRcc<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
cc: 2 digit count of bytes to read<br />
</pre><br />
<br />
;Write a byte to memory:<br />
<pre><br />
:FFT:xxxxxxxWvv<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
vv: 2 digit value for the byte<br />
</pre><br />
<br />
;Call a subroutine:<br />
<pre><br />
:FFT:xxxxxxxxCdd<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
dd: 2 digit dummy<br />
</pre><br />
<br />
<br><br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
Only use this commands if you really know what you do ! It could delete your calibration infos and firmware. We are not responsible for things you do.}}<br />
<br><br />
<br />
<br />
Next step:[[Start_Development]]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Patch_your_Firmware&diff=83Patch your Firmware2011-12-24T04:40:36Z<p>Krater: </p>
<hr />
<div>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. <br />
<br />
For this job you need<br />
* The completly installed Blackfin and Rigol toolchain (follow the instructions [[Build_the_Toolchain|here]])<br />
* A installed md5sum tool<br />
* A original Rigol firmware image (DS1000EUpdate.RGL) version 02.05.02.00 with a md5sum of 9c28690d8d5a5690b7340fda943f5549. <br />
<br />
<br />
There is a patch script in the examples/rwpatch/ subdirectory of the toolchain.<br />
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<br />
<br />
<pre><br />
make patch<br />
</pre><br />
<br />
When all is working correct you get the response:<br />
<br />
<pre><br />
...<br />
</pre><br />
<br />
The resulting firmware should have the md5sum '''3ffccd4edcc70710e010124edec9ee1c'''. <br />
Now you can copy the new firmware image to a usb stick and flash it to your oscilloscope.<br><br><br />
<br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
This will possibly void your warranty or damage your oscilloscope.<br />
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.}}<br />
<br><br />
<br />
=== Enjoy the new possibilities ===<br />
<br />
After the patch the :FFT command of your serial console will no longer work as usual, but you have some new functions:<br />
<br />
;Read bytes from any memory address:<br />
<pre><br />
:FFT:xxxxxxxxRcc<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
cc: 2 digit count of bytes to read<br />
</pre><br />
<br />
;Write a byte to memory:<br />
<pre><br />
:FFT:xxxxxxxWvv<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
vv: 2 digit value for the byte<br />
</pre><br />
<br />
;Call a subroutine:<br />
<pre><br />
:FFT:xxxxxxxxCdd<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
dd: 2 digit dummy<br />
</pre><br />
<br />
<br><br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
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.}}<br />
<br><br />
<br />
<br />
Next step:[[Start_Development]]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Patch_your_Firmware&diff=82Patch your Firmware2011-12-24T04:40:11Z<p>Krater: </p>
<hr />
<div>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. <br />
<br />
For this job you need<br />
* The completly installed Blackfin and Rigol toolchain (follow the instructions [[Build_the_Toolchain|here]])<br />
* A installed md5sum tool<br />
* A original Rigol firmware image (DS1000EUpdate.RGL) version 02.05.02.00 with a md5sum of 9c28690d8d5a5690b7340fda943f5549. <br />
<br />
<br />
There is a patch script in the examples/rwpatch/ subdirectory of the toolchain.<br />
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<br />
<br />
<pre><br />
make patch<br />
</pre><br />
<br />
When all is working correct you get the response:<br />
<br />
<pre><br />
...<br />
</pre><br />
<br />
The resulting firmware should have the md5sum 3ffccd4edcc70710e010124edec9ee1c. <br />
Now you can copy the new firmware image to a usb stick and flash it to your oscilloscope.<br><br><br />
<br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
This will possibly void your warranty or damage your oscilloscope.<br />
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.}}<br />
<br><br />
<br />
=== Enjoy the new possibilities ===<br />
<br />
After the patch the :FFT command of your serial console will no longer work as usual, but you have some new functions:<br />
<br />
;Read bytes from any memory address:<br />
<pre><br />
:FFT:xxxxxxxxRcc<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
cc: 2 digit count of bytes to read<br />
</pre><br />
<br />
;Write a byte to memory:<br />
<pre><br />
:FFT:xxxxxxxWvv<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
vv: 2 digit value for the byte<br />
</pre><br />
<br />
;Call a subroutine:<br />
<pre><br />
:FFT:xxxxxxxxCdd<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
dd: 2 digit dummy<br />
</pre><br />
<br />
<br><br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
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.}}<br />
<br><br />
<br />
<br />
Next step:[[Start_Development]]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Patch_your_Firmware&diff=81Patch your Firmware2011-12-24T04:39:13Z<p>Krater: </p>
<hr />
<div>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. <br />
<br />
For this job you need<br />
* The completly installed Blackfin and Rigol toolchain (follow the instructions [[Build_the_Toolchain|here]])<br />
* A installed md5sum tool<br />
* A original Rigol firmware image (DS1000EUpdate.RGL) version 02.05.02.00 with a md5sum of 9c28690d8d5a5690b7340fda943f5549. <br />
<br />
<br />
There is a patch script in the examples/rwpatch/ subdirectory of the toolchain.<br />
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<br />
<br />
<pre><br />
make patch<br />
</pre><br />
<br />
When all is working correct you get the response:<br />
<br />
<pre><br />
...<br />
</pre><br />
<br />
The resulting firmware should have the md5sum xxx. <br />
Now you can copy the new firmware image to a usb stick and flash it to your oscilloscope.<br><br><br />
<br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
This will possibly void your warranty or damage your oscilloscope.<br />
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.}}<br />
<br><br />
<br />
=== Enjoy the new possibilities ===<br />
<br />
After the patch the :FFT command of your serial console will no longer work as usual, but you have some new functions:<br />
<br />
;Read bytes from any memory address:<br />
<pre><br />
:FFT:xxxxxxxxRcc<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
cc: 2 digit count of bytes to read<br />
</pre><br />
<br />
;Write a byte to memory:<br />
<pre><br />
:FFT:xxxxxxxWvv<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
vv: 2 digit value for the byte<br />
</pre><br />
<br />
;Call a subroutine:<br />
<pre><br />
:FFT:xxxxxxxxCdd<return><br />
<br />
xxxxxxxx: 8 digit hex address<br />
dd: 2 digit dummy<br />
</pre><br />
<br />
<br><br />
<span style="color:red;"><br />
{{warning|'''ATTENTION !!!'''<br />
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.}}<br />
<br><br />
<br />
<br />
Next step:[[Start_Development]]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Build_the_Toolchain&diff=80Build the Toolchain2011-12-24T04:35:12Z<p>Krater: </p>
<hr />
<div><br />
== Preparations ==<br />
<br />
Before you can install the toolchain, you need the following software packages<br />
<br />
* Build Essentials (make,...)<br />
* GNU C++ Compiler<br />
* [http://docs.blackfin.uclinux.org/doku.php?id=toolchain:installing Blackfin Cross Compiler Toolchain (bfin-uclinux-xxx)]<br />
* Git or wget+tar+gzip, according to how you want to download the toolchain-package<br />
<br />
<br />
== Download and install the Rigol toolchain ==<br />
<br />
To get the latest version of the toolchain, simply checkout the appropriate git repository with the line:<br />
<br />
git clone git://github.com/krater/rigol-toolchain.git<br />
<br />
Switch to the resulting directory and start a make with<br />
<br />
cd rigol-toolchain;make<br />
<br />
If this works without errors and warnings you can install the toolchain with<br />
<br />
sudo make install<br />
<br />
<br>Now you are prepared for [[Patch_your_Firmware|patching your firmware]] and building the examples.<br />
<br />
<br />
<br />
<br />
<br />
Next step: [[Patch_your_Firmware]]</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Start_Development&diff=79Start Development2011-12-22T15:36:49Z<p>Krater: /* Pitfalls */</p>
<hr />
<div>Sorry, not complete yet...<br />
<br />
Download the Toolchain from<br />
https://github.com/krater/rigol-toolchain<br />
<br />
and follow the instructions in the README file...<br />
<br />
<br />
<br />
<br />
----<br />
<br />
<br />
<br />
howto compile examples<br />
<br />
links to blackfin prm<br />
<br />
<br />
-----------------<br />
<br />
=== Pitfalls ===<br />
<br />
; Alignment<br />
: Every command must be word aligned. When you access the memory, word accesses must be word aligned, long word accesses must be long word aligned. <br />
: '''Don't''' use the .align directive . It doesn't works with the toolchain. Use .byte directives to do that.<br />
<br />
; Subroutines / Calls<br />
: Every subroutine that calls subroutines must start with LINK and end with UNLINK to save the return address to the stack. The blackfin CPU doesn't do that automaticly.<br />
<br />
Example:<br />
<pre><br />
sub:<br />
LINK 0x0<br />
<br />
...<br />
CALL sub2<br />
...<br />
<br />
UNLINK<br />
RTS<br />
</pre><br />
<br />
; STOP-Mode<br />
: Switch your scope to the STOP-Mode if you don't need capturing during your software is working. Sometimes i got unpredictable crashs when the device was in AUTO-Mode. Hope to find a reason for this thing soon.<br />
<br />
; Unlock the Keyboard<br />
: If you need keyboard interaction, first you should unlock the keyboard for user inputs.<br />
: This lines will do the job:<br />
<pre><br />
R0=0<br />
CALL Set_KeyLock<br />
</pre><br />
: The keyboard is locked, because the serial interface is used to upload and start your software.<br />
: You can see that its locked if the only keycode you get is KC_KEYLOCK (0xc9).</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Start_Development&diff=78Start Development2011-12-22T15:36:13Z<p>Krater: /* Pitfalls */</p>
<hr />
<div>Sorry, not complete yet...<br />
<br />
Download the Toolchain from<br />
https://github.com/krater/rigol-toolchain<br />
<br />
and follow the instructions in the README file...<br />
<br />
<br />
<br />
<br />
----<br />
<br />
<br />
<br />
howto compile examples<br />
<br />
links to blackfin prm<br />
<br />
<br />
-----------------<br />
<br />
=== Pitfalls ===<br />
<br />
; Alignment<br />
: Every command must be word aligned. When you access the memory, word accesses must be word aligned, long word accesses must be long word aligned. <br />
: '''Don't''' use the .align directive . It doesn't works with the toolchain. Use .byte directives to do that.<br />
<br />
; Subroutines / Calls<br />
: Every subroutine that calls subroutines must start with LINK and end with UNLINK to save the return address to the stack. The blackfin CPU doesn't do that automaticly.<br />
<br />
Example:<br />
<pre><br />
sub:<br />
LINK 0x0<br />
<br />
...<br />
CALL sub2<br />
...<br />
<br />
UNLINK<br />
RTS<br />
</pre><br />
<br />
; STOP-Mode<br />
: Switch your scope to the STOP-Mode if you don't need capturing during your software is working. Sometimes i got unpredictable crashs when the device was in AUTO-Mode. Hope to find a reason for this thing soon.<br />
<br />
; Unlock the Keyboard<br />
: If you need keyboard interaction, first you should unlock the keyboard for user inputs.<br />
: This lines will do the job:<br />
<pre><br />
R0=0<br />
CALL Set_KeyLock<br />
</pre><br />
: The keyboard is locked because the serial interface is used to upload and start your software.<br />
: You can see that its locked if the only keycode you get is KC_KEYLOCK (0xc9).</div>Kraterhttp://rigol.codenaschen.de/index.php?title=Main_Page/Welcome&diff=77Main Page/Welcome2011-12-22T15:34:19Z<p>Krater: </p>
<hr />
<div>{{col-begin}}<br />
{{col-2}}<br />
{{HeadingA|Welcome to the Rigol Homebrew Wiki}}<br />
[[File:Rigol DS1052E.jpg|Rigol DS1052E|400px|right]]<br />
We are a affiliation of some people that wants to open the Rigol oscilloscopes for new software and the open source community. We know that switching the bandwith from 50MHz to 100MHz is cool, but not the only possible improvement we can do.<br><br />
We've reverse engineered parts of the hard- and software and written a toolchain for building and uploading our own applications.<br><br />
<br />
Actually this wiki is relatively empty, you can only find the toolchain, some schematics and general informations. I hope this will be changed at the next months. Howto-Writers and all other people that wants to help us are welcome. <br><br />
<br />
If you want to write your own software or only ever wanted to play pong on your Rigol, the best startpoint is to read the [[Build_the_Toolchain|installation howto]] for the toolchain, patch your firmware and play around with the examples.<br />
<br />
For help and more informations i suggest you to join our mailing list.<br />
<br />
{{col-end}}</div>Krater