Hello,
here are the results for the "AT25F512N" with arduino.
Not sure for what the "N" stands for.
Read and write works, but erase not.

Erase:

Computer flashrom-0.9.7 # ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -VE
flashrom v0.9.7-r1711 on Linux 3.2.0-23-generic (i686)
flashrom is free software, get the source code at http://www.flashrom.org

flashrom was built with libpci 3.1.8, GCC 4.6.3, little endian
Command line (5 args): ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -VE
Calibrating delay loop... OS timer resolution is 1 usecs, 2019M loops per second, 10 myus = 11 us, 100 myus = 136 us, 1000 myus = 1025 us, 10000 myus = 11492 us, 4 myus = 9 us, OK.
Initializing serprog programmer
Baud rate is 2000000.
serprog: connected - attempting to synchronize
...
serprog: Synchronized
serprog: Interface version ok.
serprog: Bus support: parallel=off, LPC=off, FWH=off, SPI=on
Warning: Automatic command availability check failed for cmd 0x08 - won't execute cmd
Warning: Automatic command availability check failed for cmd 0x11 - won't execute cmd
serprog: Programmer name is "serprog-duino"
serprog: Serial buffer size is 65535
serprog: Warning: Programmer does not support toggling its output drivers
The following protocols are supported: SPI.
Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x1f, id2 0x60
Found Atmel flash chip "AT25F512" (64 kB, SPI) on serprog.
Chip status register is 0x00.
Chip status register: Write Protect Enable (WPEN) is not set
Chip status register: Bit 6 is not set
Chip status register: Bit 5 is not set
Chip status register: Bit 4 is not set
Chip status register: Block Protect 1 (BP1) is not set
Chip status register: Block Protect 0 (BP0) is not set
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x007fff:E, 0x008000-0x00ffff:EError: invalid response 0xFF from device
spi_block_erase_52 failed during command execution at address 0x8000
Reading current flash chip contents... Error: invalid response 0xFF from device
Can't read anymore! Aborting.
FAILED!
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom@flashrom.org, thanks!

Write:
Computer flashrom-0.9.7 # ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -Vw AT25F512.rom
flashrom v0.9.7-r1711 on Linux 3.2.0-23-generic (i686)
flashrom is free software, get the source code at http://www.flashrom.org

flashrom was built with libpci 3.1.8, GCC 4.6.3, little endian
Command line (6 args): ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -Vw AT25F512.rom
Calibrating delay loop... OS timer resolution is 1 usecs, 1995M loops per second, 10 myus = 20 us, 100 myus = 143 us, 1000 myus = 1013 us, 10000 myus = 9918 us, 4 myus = 9 us, OK.
Initializing serprog programmer
Baud rate is 2000000.
serprog: connected - attempting to synchronize
...
serprog: Synchronized
serprog: Interface version ok.
serprog: Bus support: parallel=off, LPC=off, FWH=off, SPI=on
Warning: Automatic command availability check failed for cmd 0x08 - won't execute cmd
Warning: Automatic command availability check failed for cmd 0x11 - won't execute cmd
serprog: Programmer name is "serprog-duino"
serprog: Serial buffer size is 65535
serprog: Warning: Programmer does not support toggling its output drivers
The following protocols are supported: SPI.
Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x1f, id2 0x60
Found Atmel flash chip "AT25F512" (64 kB, SPI) on serprog.
Chip status register is 0x00.
Chip status register: Write Protect Enable (WPEN) is not set
Chip status register: Bit 6 is not set
Chip status register: Bit 5 is not set
Chip status register: Bit 4 is not set
Chip status register: Block Protect 1 (BP1) is not set
Chip status register: Block Protect 0 (BP0) is not set
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
Reading old flash chip contents... done.
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x007fff:W, 0x008000-0x00ffff:S
Erase/write done.
Verifying flash... VERIFIED.

Verify:

Computer flashrom-0.9.7 # ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -Vv AT25F512.rom
flashrom v0.9.7-r1711 on Linux 3.2.0-23-generic (i686)
flashrom is free software, get the source code at http://www.flashrom.org

flashrom was built with libpci 3.1.8, GCC 4.6.3, little endian
Command line (6 args): ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -Vv AT25F512.rom
Calibrating delay loop... OS timer resolution is 1 usecs, 1989M loops per second, 10 myus = 11 us, 100 myus = 135 us, 1000 myus = 1058 us, 10000 myus = 10101 us, 4 myus = 9 us, OK.
Initializing serprog programmer
Baud rate is 2000000.
serprog: connected - attempting to synchronize
...
serprog: Synchronized
serprog: Interface version ok.
serprog: Bus support: parallel=off, LPC=off, FWH=off, SPI=on
Warning: Automatic command availability check failed for cmd 0x08 - won't execute cmd
Warning: Automatic command availability check failed for cmd 0x11 - won't execute cmd
serprog: Programmer name is "serprog-duino"
serprog: Serial buffer size is 65535
serprog: Warning: Programmer does not support toggling its output drivers
The following protocols are supported: SPI.
Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x1f, id2 0x60
Found Atmel flash chip "AT25F512" (64 kB, SPI) on serprog.
Chip status register is 0x00.
Chip status register: Write Protect Enable (WPEN) is not set
Chip status register: Bit 6 is not set
Chip status register: Bit 5 is not set
Chip status register: Bit 4 is not set
Chip status register: Block Protect 1 (BP1) is not set
Chip status register: Block Protect 0 (BP0) is not set
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
Reading old flash chip contents... done.
Verifying flash... VERIFIED.