How to clone program from flash memory, from RCM3200 to another RCM3200?

I would like to obtain the code from the board and flash it to another board, to make a clone.

This is for repair of device where the manufacturer has gone out of business.

Seeing your comments on https://forums.digi.com/64866/full-cloning-one-fully-functional-rcm3100-new-rcm3100-board?show=69323#c69323

Note that extract_flash.c is now a part of the Dynamic C 9 repository on GitHub: https://github.com/digidotcom/DCRabbit_9

I’m not sure what’s happening, other than the program incorrectly calculating a program size beyond 1MB. If you can email me a copy of the .bin file, I might be able to figure out why it fails. I do have an RCM3200 that I can do some testing with (and install the binary to by using RFU), but I need to know what compiler version built the original binary. I have not done any testing on firmware build with the Softools compiler.

If DUMP_FLASH works, you could look through the file in a hex editor to truncate the 0xFF bytes from the end. It might even be possible to detect the end in the base64 file and just strip those lines from it.

Maybe uncomment the VERBOSE macro definition and post a copy of the output? And try again with ALTERNATE_PATTERN defined?

DUMP_FLASH works perfectly. I was able to view the output after converting to a bin file through the hex editor.

I am wondering how to make this writeable through RFU. I have stripped the 00 bytes from the end of the file and was able to write it to the board, but are there any additional steps I have to take before testing?

I was able to load the firmware on the other board and the device worked properly, thank you very much for your help.