As per MB85RC datasheet:
Operating power supply voltage : 2.7 V to 5.5 V ---> power the board with 3.3V
As per Adafruit breakout board schematic : there are pull ups (10K ) on SDA and SCL. This is an issue with arduino DUE SDA/SCLL (pins 20/21) since they already have pull ups. If you can desolder the breakout pull ups, connect MB85RC SDA/SCL to the DUE SDA/SCL, if you can't desolder you have no other choice than connecting MB85RC SDA/SCL to the DUE SCL1/SDA1.
Personnaly, I don't use the Wire library because I am using PDC DMA to read or write an I2C device, or I read or write without PDC DMA when it's less than 3 bytes (PDC DMA is not possible under 3 bytes for reading and 2 bytes for writing) and as much as possible with interrupts since polling is much more tricky with this uc. Note that the Atmel TWI reading sequence requires to send the STOP command before the last byte to read on a Sam uc.
The device address is on a 7 bits format:
uint8_t Address = 0b1010001; // For the device at address 1. I would avoid address 0 because this is the address for a General Call command and this may be confusing.
The WP line should be left unconnected so that you can write the FRAM. MB85RC. Memory addresses are on 15 bits from 0 to 32767.
To write 5 bytes from memory address 0, stepwise the sequence should be:
Prepare TWI_MMR with the device address (0b1010001), mode Master, the Write direction (Write = 0) and clock speed. In TWI_IER, select TXRDY for the interrupts, enable interrupts. Send a START and in the interrupt Handler, write firstly the high part of the address where you want to write (e.g. 0b0) in TWI_THR. Next time in the interrupt Handler, write the low part of the address where you want to write (e.g. 0b1). Then the next time you are in the interrupt Handler, write the value of the byte (e.g. 55), and so on until the fifth byte. Immediately after writing the last byte, send a STOP with TWI_CR.
To read back from memory address 1, stepwise the sequence should be:
Prepare TWI_MMR with the device address (0b1010001), mode Master, the Write direction (Write= 0) to specify the memory address you want to Read, and clock speed.In TWI_IER, select TXRDY and RXRDY for the interrupts, enable interrupts. Send a START and in the interrupt Handler, check TXRDY is set and write the high part of the first address you want to Read (0b0), next time in the interrupt Handler, check TXRDY is set and send the low part of the memory address you want to read (0b1). Previously, in TWI_MMR, you selected Master Read direction. Then check that TXRDY is set and immediately after send a START (in fact this is a repeated START). Next time in the Interrupt Handler, check that RXRDY is set and Read a byte with TWI_RHR. Do this until the fourth byte. Immediately after reading the fourth byte, send a STOP. Finally, the last time you are in the interrupt Handler, read the last byte.