Rabbit 3000 cloning issues

I created a cloning cable based on the wiring diagram of the cloning board (TN207).

For the most part, it functions properly. However, about half the time, I connect it up, press reset, and nothing happens. The status led on the cloning cable just remains lit. I have tried slow presses, quick presses, multiple presses, etc., and sometimes it will start up, sometimes not. There does not seem to be any clear cause / effect relationship.

The assembly I am cloning is of our own design. It is patterned after the RCM3300 running with a 14.7mhz crystal. I have double and triple checked the cloning cable pinout and verifed that the reset button on it grounds the correct pin.

The TN207 document recommends that the master and clone be powered up together. Through trial and error, I have not observed any difference in operation no matter what order I power them up in.

Any suggestions or insight as to what else to chedk would be appreciated.

It is recommended you use the programming cable that came with the controller and follow the instructions in the controller user’s manual.

Thank you for your comment. If you are referring to the programming cable used with the IDE or the RFU, that RS232 to Logic cable works as it should. However it has no relevance with regard to the clone feature of the BIOS.

My situation is that we have several hundred assemblies deployed in the field. Our newest version of firmware allows remote flashing via TCP, but the firmware version now in the field is not.

To get the newest version installed, we will need to ‘touch’ each, one last time, so that future updates can be installed remotely.

The easiest, most strait forward way is with a ‘golden’ master that can clone itself to the installed units. Since the clone does not need any special software to receive new firmware, this works very well (when it works).

Cloning is a tricky process, and it’s not going to be easy to debug.

My recommendation would be to read through the clone.lib comments to understand the cloning steps. Connect a logic analyzer to the I/O lines between the two devices, and try getting some captures of the connection. Compare the sequence of events from a successful clone versus an unsuccessful one.

Make sure your cloning setup has all of the necessary pullup resistors in place. My recollection of the process is that the slave device (receiving the update) needs to stay in bootstrap mode on startup. When the master starts, the cloning cable/hardware signals the BIOS in some manner to initiate the cloning procedure.

My guess is that you’re seeing a failure during that bootstrap process. Either the slave isn’t staying in boot mode long enough to receive the bootloader, or the master isn’t seeing the signal to start cloning.