Very smart people have now developed OBD tools that can do basically what a BDM can do now on the MSS54 DME, but I am still partial to BDM because of its ability to recover and the speed it reads and writes. There are various BDM solutions out there, but in my opinion the cheapest and most reliable tool out there is the clone Galletto system at the moment.
I figured I would do a write up for those that want to do this on their own, so I quickly threw something together (hence the carpet!! Don't do this!!!) and show how you can bench/carpet flash via BDM.
Once you have installed everything correctly and the software runs, hook your system up like so (one power supply source to power the DME and Galletto is sufficient, in this case a switchable power supply pack that's on 12V 2.5A output was stable for this DME).
Software screen should show you the voltage, select 5V for BDM flashing.
Galletto provides a connector board between the Galletto main unit and the BDM connector plug line - this basically just switches the pins around. I didn't like the board itself as it made everything too short and the contacts were not insulated so you could accidentally ground or short on the DME, so ended up making my own conversion harness (easily enough to do, just follow the printed track on the connector board) - Self made harness top, supplied board bottom.
The siemens BDM connector
Alternatively you can use spring loaded BDM probes on a siemens board that you can buy on the net - handy if you don't want to solder header pins.
From main software screen select driver and select as per screenshot for the MSS54/HP
Ok, then click Connect
Once connected it will show the chipset in box on top left. In this case FLASH AMD 29F200BB
Now to read, click Read Ext Flash, screen pops up, just type in name of the file you want to call it and the location you want to save it to
Save and it'll start reading
Done.
To write, the process is the same, except you select Write Ext Flash. A screen will pop up for you to select the .bin file, then it'll ask if you want checksum corrected. Rest is self explanatory.
:thumbsup2: