FRAM unable to write to memory 0x258 (600) byte onwards

Hi, I got a project where I am gathering the data from SD and writing to FRAM (SPI) but for some reason, I can’t write to memory address 600 onwards despite having 8K of FRAM. I’ve took out my SD stuff leaving just the FRAM but still getting that odd problem. So, just wondered if anyone else had a similar problem, or could spot the problem with my code - or even tell me if I have got a dud FRAM!

More info: I have a nodemcu v3 and a “Adafruit FRAM SPI Breakout” which said to be 8Kbytes of storage.
wired up between nodemcu to fram

NodeMCU FRAM
D8 (cs) CS
D7 (mosi) MOSI
D6 (miso) MISO
D5 (clk) CLK

Initially I used the “FRAMInfo” sketch from the “Adafruit SPI FRAM” example sketches
and that correctly told me that it has 8k bytes
then I used the “MB85RS64V” sketch to test the read and writing each bytes and when it gets to 0x258 it resets the nodemcu
So, i knocked up a simple sketch to just read/write to that area, and I find that it doesn’t seem to write to it as its not returning the values I written to it.

#include <SPI.h>
#include "Adafruit_FRAM_SPI.h"

uint8_t FRAM_CS = 15;   // D8 on nodemcu
uint8_t FRAM_SCK= 14;   // D5 on nodemcu
uint8_t FRAM_MISO = 12; // D6 on nodemcu
uint8_t FRAM_MOSI = 13; // D7 on nodemcu

//Or use software SPI, any pins!
//Adafruit_FRAM_SPI fram = Adafruit_FRAM_SPI();  // use hardware SPI
Adafruit_FRAM_SPI fram = Adafruit_FRAM_SPI(FRAM_SCK, FRAM_MISO, FRAM_MOSI, FRAM_CS);

uint16_t          addr = 0;

void setup(void) {
  #ifndef ESP8266
    while (!Serial);     // will pause Zero, Leonardo, etc until serial console opens
  #endif
  Serial.begin(9600);
  
  if (fram.begin()) {
    Serial.println("Found SPI FRAM");
  } else {
    Serial.println("No SPI FRAM found ... check your connections\r\n");
    while (1);
  }

  // turn on fram
  fram.writeEnable(true);

  // write some sample data starting from 598 to 603
  fram.write8(598,1);
  fram.write8(599,2);
  fram.write8(600,3);
  fram.write8(601,4);
  fram.write8(602,5);
  fram.write8(603,6);
  
  // turn of fram
  fram.writeEnable(false);

  // Read back the datas
  uint8_t value;
  fram.read(598,&value,1);
  Serial.println(value,DEC);
  fram.read(599,&value,1);
  Serial.println(value,DEC);
  fram.read(600,&value,1);
  Serial.println(value,DEC);
  fram.read(601,&value,1);
  Serial.println(value,DEC);
  fram.read(602,&value,1);
  Serial.println(value,DEC);
  fram.read(603,&value,1);
  Serial.println(value,DEC);

}

void loop(void) {

}

the output comes back as
→ 1
→ 224
→ 224
→ 224
→ 224
→ 224

it always seems to be 224 returning back no matter what I had written to it.

Any ideas would be much appreciated.

well, kinda solved it

put a small delay of 10ms between write solved it.