I broke the system flash

I was messing around with saving to the user block on a Rabbit 6700, and I accidentally told it there were 10 items when there were actually only 9. As a result, I believe I corrupted the system flash - I’m no longer able to compile directly to the board, as it gives me “No ID Block found on the target board” error. I am able to compile to a .bin file and upload through RFU, but when I try to interact with the user block it gives me a -2, which is “No valid User block found”. Is there a way I can fix this or is the controller FUBAR? I am using DynamicC 10.72D.


You can use Utilities/Write_ID/write_idblock_rcm67xx.c to re-write the System ID Block to your module.

Be sure to enter the MAC address from the label on the module so it’s programmed with a valid MAC.

That sample includes plenty of instructions at the start with how to configure/run it from Dynamic C.

There are also programs in Samples/UserBlock/ that you can use to read the System ID Block (idblock_report.c) and read/write to the Userblock.

1 Like

You can use the write_id block program to add the id block back into the unit. Dynamic C 10.72E already has the write id block program included in the /utilities folder or you can download the zip program from our site. I have added both of the links below;

Dynamic C 10.72E;

Write id block program.


Solved by running the write_idblock_rcm67xx.c program from the DC Utilities. Thanks!