I seem to have got over most of my SPI flash and EEPROM issues now and my 256Mb SPI flash is properly recognised.
I think I am at the last hurdle. Here is the console output, along with my question of the day :) Successfully initialized M25P SPI m25p_initialize: dev: 0x2005b970 m25p_readid: priv: 0x2005b990 m25p_readid: manufacturer: 20 memory: ba capacity: 19 m25p_initialize: Return 0x2005b990 Successfully bound SPI0 CS1 to the SPI FLASH driver m25p_ioctl: cmd: 1537 m25p_ioctl: blocksize: 256 erasesize: 4096 neraseblocks: 8192 m25p_ioctl: return 0 m25p_bread: startblock: 00000000 nblocks: 1 m25p_read: offset: 00000000 nbytes: 256 m25p_waitwritecomplete: Complete m25p_read: return nbytes: 256 nxffs_nextentry: No entry found nxffs_limits: No inodes found nxffs_limits: Free FLASH region begins at offset: 5 nxffs_limits: First inode at offset 5 Succesfully initialised NXFSS nx_mount: ERROR: Failed to find block driver (null) Failed to mount the NXFSS volume -15 I believe the block driver would be "/dev/M25P" (M25P, for example) but there is no code I have found that specifies the block driver location. I have: ret = nxfss_initialize(mtd); then ret = nx_mount("NULL, "/mnt/M25P", 0, NUL); and that seems to be in common with other "bringup" code; using NULL rather than "/dev/something". Just need the last piece of this jigsaw if anyone could be so kind :)